我正在使用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) StopWords = pd.read_csv('stopwords.csv',encoding='UTF-8', quotechar='|',names=['StopWords'])
Run Code Online (Sandbox Code Playgroud)
我正在尝试读取包含波斯语文本的 CSV 文件,这是我得到的错误:
UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 0 中的字节 0xff:起始字节无效