在ListItemFragment的onCreateView的底部,我进行网络调用以获取所有项目。像这样:
viewmodel.getAllItems()
然后,观察数据以将项目填充到RecyclerView。当用户单击每个项目时,我正在使用导航架构组件导航到ItemDetailFragment。问题是,当我再次点击按钮,ListItemFragment的onCreateView调用时,viewmodel.getAllItems()也会再次调用。所以,我想要的是再次阻止调用getAllItems(),并保持RecyclerView的当前位置。
YourItemType yourItems; //define this as global field
在onCreateView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle
if(yourItems == null){
yourItems = viewmodel.getAllItems();
}
}