【发布时间】:2017-01-12 13:47:20
【问题描述】:
当我单击每个导航列表时,我正在创建一个带有导航抽屉的应用程序,新片段将加载。其中一个片段有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();
简而言之:: 每次后按我都想加载前一个片段而不重新创建它
【问题讨论】:
-
您可以使用添加片段代替替换片段,否则您可以使用数据模型进行临时存储。
-
如果我使用临时存储,我可以避免这种情况。但是在本地保存数据并不容易,里面的数据太多了。
-
是的!然后你必须使用 Sqlite 来存储这些数据。
-
目前无法存储数据。还有其他选择吗?
-
在使用片段时,我们知道我们会在销毁片段时丢失数据,因此您必须使用临时存储来存储数据或 Sqlite 没有其他选择,或者正如我所说,而不是替换片段使用添加片段。