|
@@ -27,7 +27,7 @@ class CPDFPageNavigationSliderBar extends StatefulWidget {
|
|
|
|
|
|
class _CPDFPageNavigationSliderBarState
|
|
|
extends State<CPDFPageNavigationSliderBar> {
|
|
|
- int _pageCount = 0;
|
|
|
+ int _pageCount = 1;
|
|
|
|
|
|
@override
|
|
|
void initState() {
|
|
@@ -36,26 +36,41 @@ class _CPDFPageNavigationSliderBarState
|
|
|
}
|
|
|
|
|
|
void _initDocumentData() async {
|
|
|
- int pageCount = await widget.ctrl.document.getPageCount();
|
|
|
- setState(() {
|
|
|
- _pageCount = pageCount;
|
|
|
- });
|
|
|
+ try{
|
|
|
+ int pageCount = await widget.ctrl.document.getPageCount();
|
|
|
+ setState(() {
|
|
|
+ _pageCount = pageCount;
|
|
|
+ });
|
|
|
+ }catch(e){
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@override
|
|
|
Widget build(BuildContext context) {
|
|
|
return StreamBuilder(
|
|
|
- initialData: 1,
|
|
|
+ initialData: 0,
|
|
|
stream: widget.ctrl.currentPageIndexStream.stream,
|
|
|
builder: (context, pageIndex) {
|
|
|
- return CPDFSliderBar(
|
|
|
- position: widget.position,
|
|
|
- value: (pageIndex.data! + 1).toDouble(),
|
|
|
- maxValue: _pageCount.toDouble(),
|
|
|
- callback: (pageIndex) {
|
|
|
- widget.ctrl.setDisplayPageIndex(pageIndex);
|
|
|
- },
|
|
|
- );
|
|
|
+ if (pageIndex.data != null) {
|
|
|
+ return CPDFSliderBar(
|
|
|
+ position: widget.position,
|
|
|
+ value: (pageIndex.data! + 1).toDouble(),
|
|
|
+ maxValue: _pageCount.toDouble(),
|
|
|
+ callback: (pageIndex) {
|
|
|
+ widget.ctrl.setDisplayPageIndex(pageIndex);
|
|
|
+ },
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ return CPDFSliderBar(
|
|
|
+ position: widget.position,
|
|
|
+ value: 1,
|
|
|
+ maxValue: _pageCount.toDouble(),
|
|
|
+ callback: (pageIndex) {
|
|
|
+ widget.ctrl.setDisplayPageIndex(pageIndex);
|
|
|
+ },
|
|
|
+ );
|
|
|
+ }
|
|
|
},
|
|
|
);
|
|
|
}
|