小编Ehs*_*ari的帖子

如何使用 RefreshIndicator 更新 FutureBuilder 状态?

我正在使用FutureBuilder来显示从服务器加载的数据。我只想在应用程序启动时显示一次加载状态,这就是我从 initState 调用 API 的原因。我从服务器获取的数据可能会发生变化,为了反映 UI 中的变化,我使用了refreshIndicator。问题是我无法想出更新状态的解决方案。

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  GlobalKey<RefreshIndicatorState> _refreshIndicatorKey =
      GlobalKey<RefreshIndicatorState>();
  Future<List<Photo>> _photosServer;

  @override
  void initState() {
    super.initState();
    _photosServer = ApiRest.getPhotos();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: RefreshIndicator(
        key: _refreshIndicatorKey,
        onRefresh: () {
          _refreshIndicatorKey.currentState.show();
          await getPhotosFromServer();
          ...
        },
        child: FutureBuilder(
          future: _photosServer,
          builder: (BuildContext context, snapshot) {
            if (snapshot.data == null) { …
Run Code Online (Sandbox Code Playgroud)

state pull-to-refresh flutter flutter-futurebuilder

10
推荐指数
1
解决办法
9980
查看次数

UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 0 中的字节 0xff:读取 csv 文件时 python 中的无效起始字节错误

StopWords = pd.read_csv('stopwords.csv',encoding='UTF-8', quotechar='|',names=['StopWords'])
Run Code Online (Sandbox Code Playgroud)

我正在尝试读取包含波斯语文本的 CSV 文件,这是我得到的错误:

UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 0 中的字节 0xff:起始字节无效

python byte-order-mark

2
推荐指数
1
解决办法
3849
查看次数