有什么办法可以清理碎片的状态吗?
我的意思是这样的情况:我创建了一个片段实例(让我们称之为 A)传递它一个 ID 以加载一些内容,而不是返回到前一个片段(例如 B)。当我再次去 A 时,传递 NO ID(它应该加载默认数据) - 它已经有一个以前使用的 ID,我的逻辑中断了。
有什么办法可以清理碎片的状态吗?
我的意思是这样的情况:我创建了一个片段实例(让我们称之为 A)传递它一个 ID 以加载一些内容,而不是返回到前一个片段(例如 B)。当我再次去 A 时,传递 NO ID(它应该加载默认数据) - 它已经有一个以前使用的 ID,我的逻辑中断了。
不要将您的“A”添加到backstack。所以它不会被保存到backstack中。每当您返回并再次访问时,它都不会被添加。这是你想要的对吗。
// Instantiate a new fragment.
Fragment newFragment = CountingFragment.newInstance(mStackLevel);
// Add the fragment to the activity, pushing this transaction
// on to the back stack.
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.simple_fragment, newFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
//ft.addToBackStack(null);// Do not add to backstack here.(add every time new).
ft.commit();