什么是flutter中的等价代码" mAdapter.notifyDataSetChanged();&#34 ;;

时间:2018-05-31 08:01:02

标签: flutter flutter-layout


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

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


                                         }
                                     });`


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

2 个答案:

答案 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。

相关问题