TabActivityをFragmentActivityに変換しました。タブのコンテンツはFragmentsです。私は2つの問題を実行しています:Android FragmentActivityとタブに関する問題
各タブにはEditTextが含まれています。 TAB1のEditTextの値を変更してTAB2に切り替えた後、TAB1に戻すと、EditTextの値がリセットされました。
自分のタブのフラグメントの1つから新しいアクティビティを開始してから、既存のFragmentActivityに戻ると、タブのコンテンツが消えます。 #1を、私はフラグメントにすべてを変換するための時間を費やした理由ですTabHost、...
を使用しているとき、私はもともと、この問題を抱えていた、私は問題がsavedInstanceStateに関係していると仮定しています。私は私のFragmentActivityの)(のonCreateで次のように使用して、正確にGoogleのexampleを追っ:
initialiseTabHost(savedInstanceState);
if (savedInstanceState != null) {
mTabHost.setCurrentTabByTag(savedInstanceState.getString("tab"));
}
さらに、ここに私のFragmentActivityの私のonSaveInstanceState()メソッドされています
protected void onSaveInstanceState(Bundle outState) {
outState.putString("tab", mTabHost.getCurrentTabTag());
super.onSaveInstanceState(outState);
}
ここでは私の何ひとつですタブのフラグメントの外観は次のようになります。
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