Flutter “颤振”的等效代码是什么;mAdapter.notifyDataSetChanged()&“;;

Flutter “颤振”的等效代码是什么;mAdapter.notifyDataSetChanged()&“;;,flutter,flutter-layout,Flutter,Flutter Layout,HTTP响应前显示加载,https响应后显示创建选项卡视图。我成功创建了选项卡视图,但我的问题是HTTP请求无法使用我们使用的java更新android studio中的视图 `mAdapter.notifyDataSetChanged(); mActivity.runOnUiThread(new Runnable() { @Override


HTTP响应前显示加载,https响应后显示创建选项卡视图。我成功创建了选项卡视图,但我的问题是HTTP请求无法使用我们使用的java更新android studio中的视图

`mAdapter.notifyDataSetChanged();
 mActivity.runOnUiThread(new Runnable() {
                                         @Override
                                         public void run() {


                                         }
                                     });`

这样做的代码。
颤振中的等效代码是什么?

在颤振中,当使用方法更改状态时,UI将更新

在您的情况下,您将需要一些变量(E.x:isLoading,items(用于您的列表))

当应用程序从后端加载数据时,isLoading=true,items=[](空)。当请求完成时,isLoading=false,items=[item1,item2,…]这里是您必须使用setState方法更新UI的地方。


在您的构建方法下,您必须使用这两个变量来呈现相应的UI。

如果您想更新Flatter中的任何小部件,您应该调用
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;
    });
  }
}
类MyApp扩展StatefulWidget{
@凌驾
_MyAppState createState()=>new_MyAppState();
}
类MyAppState扩展了状态{
bool isLoading=false;
@凌驾
void initState(){
super.initState();
isLoading=true;
getData();
}
@凌驾
小部件构建(构建上下文){
return isLoading?new CircularProgressIndicator()://显示列表;
}
Future getData()异步{
//从http获取数据
...
//后处理响应
设置状态(){
isLoading=false;
});
}
}