我已成功將我的TabActivity轉換爲FragmentActivity,標籤內容爲碎片。我運行兩個問題:Android FragmentActivity和標籤問題
我的每個選項卡都包含EditText's。當我更改TAB1上的EditText的值時,切換到TAB2,然後切換回TAB1,EditText的值已被重置。
如果從我的選項卡片段之一開始一個新的活動,然後返回到現有的FragmentActivity,那麼標籤內容將消失。使用TabHost,這就是爲什麼我花了一切轉化爲碎片的時間...
關於#1,當我最初有這個問題,我假設的問題是與savedInstanceState做。我跟着谷歌的example準確,使用的onCreate)我FragmentActivity以下(:
initialiseTabHost(savedInstanceState);
if (savedInstanceState != null) {
mTabHost.setCurrentTabByTag(savedInstanceState.getString("tab"));
}
此外,這裏是我的onSaveInstanceState()我FragmentActivity的方法:
protected void onSaveInstanceState(Bundle outState) {
outState.putString("tab", mTabHost.getCurrentTabTag());
super.onSaveInstanceState(outState);
}
這裏是什麼人我標籤Fragment的外表如下:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (container == null) {
return null;
}
return (LinearLayout) inflater.inflate(R.layout.priority_boxes_tab,
container, false);
}
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setRetainInstance(true);
ArrayList<Supply> list = new ArrayList<Supply>();
// More code here
}
我應該做其他事嗎?我在屏幕上有大約15個EditText字段。我是否需要以某種方式保存所有這些值並進行設置,以便字段將在下次重新填充這些值?
關於#2,我不知道我能做些什麼。有沒有人有什麼建議?
謝謝!
我會試試這個,謝謝。使用TabHost會更容易,它會記住每個選項卡中的值,但現在已棄用,因此使用時沒有任何意義。幸運的是,每個選項卡上都有一個靜態數量的EditText字段。然而,對於動態數量的EditText字段,這將變得困難,但是... – littleK 2012-04-02 03:05:14