在setState上更新UI时出现颤振问题

亚伦·B

首先,预先感谢您对这个问题的任何建议!

好的,因此在选择导航按钮后更新UI时遇到问题。当我单击其中一个导航按钮时,可以看到setState被调用,索引和pdfView的路径都被更新为正确的文件。

这是代码:

import 'dart:io';
import 'package:flutter/material.dart';
import 'package:pdf_viewer_plugin/pdf_viewer_plugin.dart';


class PDFPreview extends StatefulWidget{
  PDFPreview(this.aContext, {this.document, this.files, Key key}) : super(key:key);
  final BuildContext aContext;
  final String document;
  final List<File> files;

  @override
  _PDFPreview createState() => _PDFPreview();
}

class _PDFPreview extends State<PDFPreview> {
  _PDFWidget pdfView;
  int _index = 0;

  @override
  Widget build(BuildContext context) {
    if(widget.document == null) {
      pdfView = new _PDFWidget(widget.files[_index].path);
      print("Path: ${widget.files[_index].path}");
      print("PDF: ${pdfView.path}");
    }else{
      pdfView = new _PDFWidget(widget.document);
    }
    return Scaffold(
      bottomNavigationBar:

      widget.document == null && widget.files.length > 1 ?
        BottomAppBar(child:
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Expanded(child: IconButton(icon: Icon(Icons.arrow_back_ios), onPressed: () {
                if(_index != 0){
                  setState(() {
                    _index--;
                  });
                  print("Current Index: $_index");
                }
                },),),
              Expanded(child: IconButton(icon: Icon(Icons.edit), onPressed: () {Navigator.pop(context, 0); },),),
              Expanded(child: Text("${_index + 1} / ${widget.files.length}", textAlign: TextAlign.center,),),
              Expanded(child: IconButton(icon: Icon(Icons.done_outline), onPressed: () { Navigator.pop(context, 1);},),),
              Expanded(child: IconButton(icon: Icon(Icons.arrow_forward_ios), onPressed: () {
                  if(_index < widget.files.length - 1) {
                    setState(() {
                      _index++;
                    });
                    print("New Current Index: $_index");
                  }
                },),),
          ],),)
        :
          BottomAppBar(child:
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Expanded(child: IconButton(icon: Icon(Icons.edit), onPressed: () {Navigator.pop(context, 0); },),),
              Expanded(child: IconButton(icon: Icon(Icons.done_outline), onPressed: () { Navigator.pop(context, 1);},),),
            ],),)
        ,
      body: pdfView
    );
  }
}

class _PDFWidget extends StatelessWidget{
  _PDFWidget(this.path);
  final String path;

  @override
  Widget build(BuildContext context) {
    return new PdfViewer(
      filePath: path,
    );
  }
}

这是输出(前进导航)

flutter: Path: {longPath}/sample.pdf
flutter: PDF: {longPath}/sample.pdf

我想知道是否有人有任何潜在的解决方案来更新PDF视图。另外,如果有人可以帮我解决这个问题,那么在setState完成构建功能自动启动时,将不胜感激吧?

亚伦·B

如pskink的评论中所述,检查插件是否正常工作是问题。我身边的所有信息都在更改,UI确实得到了更新,但是插件本身存在更新文件的问题。为插件创建了一个问题,到目前为止,在修复插件之前,可以做的所有事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新颤振后面临构建问题

来自分类Dev

将文档中的值从数据库保存到initState值时出现颤振问题

来自分类Dev

颤振中的问题

来自分类Dev

颤振梯度问题

来自分类Dev

颤振中的动态芯片上出现溢出错误

来自分类Dev

各种移动设备上的颤振响应问题

来自分类Dev

颤振:在构建 ui 时执行大小错误?

来自分类Dev

在颤振列表上实现Dismissible时出错

来自分类Dev

卡的颤振布局问题

来自分类Dev

在表上运行更新时出现问题

来自分类Dev

在Meteor.js上更新视图时出现问题

来自分类Dev

飞镖还是颤振-哪个先出现?

来自分类Dev

键盘出现时颤振溢出底部

来自分类Dev

安装.apk发布应用程序时出现颤振,卡在黑屏上

来自分类Dev

使用 json 可序列化解析 json 数据时出现颤振类型错误

来自分类Dev

颤振中的函数调用问题

来自分类Dev

颤振提供者changenotifierprovider问题

来自分类Dev

颤振模态底片性能问题

来自分类Dev

颤振底部导航栏样式问题

来自分类Dev

颤振:凸起的按钮宽度问题

来自分类Dev

颤振中的下拉按钮面临问题

来自分类Dev

颤振蓝牙基本问题

来自分类Dev

颤振mobx RadioListTile有问题

来自分类Dev

在NetworkImage中使用URL的问题(颤振)

来自分类Dev

在 futureBuilder 颤振中创建 listView 的问题

来自分类Dev

颤振| ExpansionTile 属性“children”在扩展时引发底部溢出问题

来自分类Dev

我在从 laravel api 获取数据时遇到问题(颤振)

来自分类Dev

颤振列表值未更新

来自分类Dev

颤振SliverAppBar上的圆形边框