Kh5*_*Kh5 1 android android-fragments fragmenttransaction fragmentmanager
当我替换一个片段时,它会被破坏。我尝试在活动的 onCreate 中创建片段并将其引用保留在活动中,并在我“重新显示”或“重新打开”它时通过调用替换引用来使用它,但这并没有帮助,片段被销毁(替换时)由另一个片段)并重新创建。解决办法应该是什么?
我想要实现的是说WhatsApp,其中不可见时不应销毁片段,除非我没有使用滑动手势而是使用常规按钮。
谢谢。
您需要使用addToBackStack()来记住片段交易,如下所示:-
FragmentA fragmentA = new FragmentA();
getFragmentManager().beginTransaction()
.replace(R.id.YOUR_CONTENT,fragmentA,"YOUR_TARGET_FRAGMENT_TAG")
.addToBackStack("YOUR_SOURCE_FRAGMENT_TAG").commit();
Run Code Online (Sandbox Code Playgroud)
你可以检查片段是否已经存在于堆栈中或不像下面
Fragment fragment = getFragmentManager().findFragmentByTag("YOUR_TARGET_FRAGMENT_TAG");
if (fragment!=null && fragment instanceof FragmentA) {
//you are good to go, do your logic
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3130 次 |
| 最近记录: |