Android 片段导航返回上一页



我正在尝试在我的项目中使用一个活动。 在主片段i用户视图页面和选项卡布局中,ViewPager包含五个片段,在第一个片段中包含两个片段i形成一个片段导航到新片段,当返回时我丢失了ViewPager片段中的所有数据。

就像这样 在此处输入链接说明

正如@Ail告诉我的。 我修复了这个错误。

前面的代码:

protected View mView;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mView = inflater.inflate(getRootView(), container, false);
initView();
initData();
return mView;
}

代码之后:

public View mView;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (mView == null) {
mView = inflater.inflate(getRootView(), container, false);
initView();
initData();
}
return mView;
}

您有一个活动,这意味着您正在使用架构导航组件。

当您导航回主屏幕时,您的回调方法(如onViewCreated(被召回。您应该保留对主屏幕中第一次创建的视图的引用,并再次返回它,如Ian Lake所建议的那样:

https://twitter.com/ianhlake/status/1103522856535638016

另请查看使用Jetpack的Android导航组件销毁/重新创建的碎片

最新更新