Я успешно конвертировал свою TabActivity в FragmentActivity, причем содержимое вкладки было Fragments. У меня два вопроса:Проблемы с Android FragmentActivity и вкладки
Каждый из моих вкладок содержит EditText. Когда я изменяю значение EditText на TAB1, переключитесь на TAB2, а затем вернитесь к TAB1, значение EditText будет сброшено.
Если вы начинаете новое действие с одного из моих вкладок Fragments, а затем возвращаетесь к существующей функции фрагментации, то содержимое табуляции исчезает. Первоначально я с этой проблемой при использовании TabHost, поэтому я потратил время, чтобы преобразовать все в осколках ...
Что касается № 1, я предполагаю, что этот вопрос имеет отношение к savedInstanceState. Я последовал за Google, 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);
}
Вот что один из моих вкладка Фрагмент выглядит следующим образом:
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