当我单击每个导航列表时,将创建带有导航抽屉的应用程序,新片段将加载。片段之一具有listView。当我单击此列表时,加载另一个片段。现在,我使用导航抽屉移至不同的片段。每次我想返回上一个片段而没有任何数据更改时都按返回按钮,该怎么办?
我正在使用以下代码加载片段:
FragmentManager fm = getFragmentManager();
for (int i = 0; i < fm.getBackStackEntryCount(); i++) {
fm.popBackStack();
}
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.fragmentHome, fr);
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
fragmentTransaction.commit();
简而言之:我每回按一次,我都想加载之前的片段而不重新创建它
最佳答案
我认为这可能会有所帮助
只需执行PopBackStack
中的Fragmentmanager
FragmentManager fm = getFragmentManager();
for (int i = 0; i < fm.getBackStackEntryCount(); i++) {
fm.popBackStack();
}
在那个片段中
View mView ; //this will be global
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
try {
if (mView == null) {
// view will be initialize for the first time .. you can out condition for that if data is not null then do not initialize view again.
mView = inflater.inflate(R.layout.xml,container, false);
}
} catch (Exception e) {
e.printStackTrace();
}
return mView;
}
关于android - Android fragment 回压没有任何数据丢失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41605669/