Befor HTTP响应显示加载和https响应后创建选项卡视图。我成功创建了选项卡视图但我的问题是在HTTP请求无法使用java更新android工作室中的视图后我们使用了
`mAdapter.notifyDataSetChanged();
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
}
});`
这样做的代码。
flutter中的等效代码是什么?
答案 0 :(得分:1)
如果您想要更新任何小部件,请致电 setState((){})
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => new _MyAppState();
}
class _MyAppState extends State<MyApp> {
bool isLoading = false;
@override
void initState() {
super.initState();
isLoading = true;
getData();
}
@override
Widget build(BuildContext context) {
return isLoading ? new CircularProgressIndicator() : // show list;
}
Future<ModelClass> getData() async {
// get data from http
...
// after processing response
setState(() {
isLoading = false;
});
}
}
答案 1 :(得分:0)
在Flutter中,使用setState方法更改状态时会更新UI。
在您的情况下,您将需要一些变量(E.x:isLoading,items(对于您的列表))。
当应用从后端加载数据时,isLoading = true,items = [](空)。请求完成后,isLoading = false和items = [item1,item2,...]。 您必须使用setState方法更新UI。
在构建方法下,您必须使用这两个变量来呈现相应的UI。