Я пытаюсь разобраться со всеми новыми API ActionBar и Fragments. У меня есть основное действие, и я хочу, чтобы оно управляло двумя разными вкладками. Я использую ActionBarSherlock для поддержки более старой версии, чем ICS.
Каждая вкладка содержит свой собственный Fragment
(каждая из них является подклассом SherlockListFragment
). Я заставил ее работать в основном хорошо, но у меня есть проблема, в которой я уверен, что это глупо, но я пока не могу понять это:
При первом отображении каждого фрагмента все в порядке, список заполнен, поэтому элементы меню в панели действий.
Но во второй раз, когда вы видите вкладку (после переключения и переключения), ни список не заполняется, ни элементы меню ActionBar.
Вот как я переключаю вкладки:
@Override
public void onTabSelected(Tab tab, FragmentTransaction transaction) {
SherlockListFragment toAttach = // Find the right fragment here...
if (toAttach != null) {
if (toAttach.isAdded() == false) {
transaction.add(R.id.tab_placeholder, toAttach,
REMINDER_FRAGMENT_TAG);
} else {
transaction.attach(toAttach);
}
}
}
И onTabUneselect я отделяю Фрагмент:
@Override
public void onTabUnselected(Tab tab, FragmentTransaction transaction) {
SherlockListFragment toDetach = // Find the right fragment
if (toDetach != null) {
transaction.detach(toDetach);
}
}
Я заполняю списки и меню ActionBar в onResume:
@Override
public void onResume() {
super.onResume();
setHasOptionsMenu(true);
fillRemindersList();
}
Я также пробовал это в onStart и onCreateView, но это не помогло...
Итак, что мне здесь не хватает? И если в моем коде есть другие проблемы, о которых я не знаю, сообщите об этом.
Спасибо!
ИЗМЕНИТЬ:
Я только что подтвердил, что onResume
не вызывается после переключения вкладок, что определенно неправильно, поскольку я их отсоединяю и снова присоединяю... Я неправильно переключаю вкладки?