Fragment中的ViewModel + LiveData,如何从ItemDetailFragment导航回来时保留ListItemFragment的数据

问题描述 投票:1回答:1

在ListItemFragment的onCreateView的底部,我进行网络调用以获取所有项目。像这样:

viewmodel.getAllItems()

然后,观察数据以将项目填充到RecyclerView。当用户单击每个项目时,我正在使用导航架构组件导航到ItemDetailFragment。问题是,当我再次点击按钮,ListItemFragment的onCreateView调用时,viewmodel.getAllItems()也会再次调用。所以,我想要的是再次阻止调用getAllItems(),并保持RecyclerView的当前位置。

android mvvm viewmodel android-livedata
1个回答
0
投票
YourItemType yourItems; //define this as global field

在onCreateView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle 
  if(yourItems == null){
     yourItems = viewmodel.getAllItems();
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.