我有一個片段和屏幕旋轉我想節省一些國家我安卓:捆綁總是空
@Override
public void onSaveInstanceState(Bundle bundle)
{
super.onSaveInstanceState(bundle);
bundle.putSerializable("myList", myList);
bundle.putString("test", "test");
}
救我需要的數據,我可以在代碼至少調試器看到然後得到我有的數據
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
if(savedInstanceState != null)
{
//do something
}
else
{
//do something else
}
}
但在這裏,我總是最終我的if語句的其他布拉赫。我不知道爲什麼它是空的。謝謝。
旋轉屏幕時我在debuger此看到:
- 的onSaveInstanceState叫
- 的onCreate被稱爲
編輯 根據第一個答案加改變了代碼 - > bundle!= null
- onCreate被再次調用(爲什麼?) - > bundle = null
- onCreateActivity被稱爲 - >束= NULL
EDIT 2 我發現關於標籤,在那裏他們得到了分離,這就是爲什麼它被稱爲兩次simlar職位。我不得不承認我還沒有完全理解這些帖子......但它可能與此有關。在我的活動我有以下代碼
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
OverviewFragment of = new OverviewFragment();
FragmentTransaction tof = getFragmentManager().beginTransaction();
tof.replace(R.id.frag_overview, of);
DetailFragmentInitial df = new DetailFragmentInitial();
tof.replace(R.id.frag_details, df);
tof.commit();
}
,並有可能改變這種莫名其妙......但我不知道......如果我只執行,如果savedInstaceState是空的片段交易,然後它似乎工作。但我不確定稍後會遇到不同的問題。有人對此有一些背景知識?
什麼是「onActivityCreated」方法?我從來沒有聽說過。 – 2012-08-14 10:54:48
只有你使用片段,請參閱http://developer.android.com/guide/components/fragments.html – AndyAndroid 2012-08-14 10:58:58