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;
});
}
}