[英]How can I save the state of my Fragments
我有多個要保存的數據片段,並且可以從不同的片段訪問。
如果我只想保存特定片段的狀態,該如何保存?
這是我目前的導航方式:
片段“ 1”
case R.id.imageButton1:
Fragment fragment2;
fragment2 = new Frag2();
//fragment2.setArguments(args);
FragmentManager frgManager = getFragmentManager();
// frgManager.putFragment(bundle, key, fragment)
frgManager.beginTransaction().replace(R.id.content_frame, fragment2)
.commit();
break;
片段“ 2”
switch(v.getId()){
case R.id.imageButton2:
Fragment fragment;
fragment = new Frag1();
fragment.setArguments(fragment.getArguments());
android.app.FragmentManager frgManager = getFragmentManager();
frgManager.beginTransaction().replace(R.id.content_frame, fragment)
.commit();
break;
case R.id.imageButton1:
fragment = new LifeFrag3();
android.app.FragmentManager frgManage = getFragmentManager();
frgManage.beginTransaction().replace(R.id.content_frame, fragment)
.commit();
break;
我也嘗試過通過將值存儲在哈希圖中來傳遞數據,然后在暫停和恢復上使用以傳遞密鑰,但是我沒有運氣。 :/
@Override
public void onCreate(Bundle savedInstanceState) {
...
if (savedInstanceState != null) {
mContent = getSupportFragmentManager().getFragment(
savedInstanceState, "mContent");
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
getSupportFragmentManager().putFragment(outState, "mContent", mContent);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.