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