Ich versuche, den Griff auf alle neuen ActionBar und Fragmente API zu erhalten. Ich habe eine Hauptaktivität, und ich möchte, dass es zwei verschiedene Registerkarten verwaltet. Ich bin mit dem ActionBarSherlock um ältere Version als ICS zu unterstützen.Fragment onResume erhält nicht aufgerufen, nachdem Fragment wird abgelöst wird und dann wieder angebracht
Jede Registerkarte enthält eine eigene Fragment
(jeweils eine Unterklasse von SherlockListFragment
ist), ich habe es im Grunde schön zu arbeiten, aber ich habe ein Problem, dass ich sicher bin, dass dumm ist, aber ich kann es nicht heraus noch:
auf der ersten Zeit wird jedes Fragment gezeigt, ist alles in Ordnung, wird die Liste aufgefüllt und so die MenuItems im ActionBar.
Aber das zweite Mal, wenn Sie eine Registerkarte sehen (nach swicth und Rückschalt) Weder die Liste bevölkert bekommen, noch die ActionBar MenuItems. Diese
ist, wie ich das Umschalten der Registerkarten:
@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);
}
}
}
Und onTabUneselect ich Abnehmen des Fragment:
@Override
public void onTabUnselected(Tab tab, FragmentTransaction transaction) {
SherlockListFragment toDetach = // Find the right fragment
if (toDetach != null) {
transaction.detach(toDetach);
}
}
ich die Listen bevölkern und die ActionBar Menü in onResume:
@Override
public void onResume() {
super.onResume();
setHasOptionsMenu(true);
fillRemindersList();
}
ich versuchte es auch in onStart und onCreateView aber es hat nicht geholfen ...
Was fehle ich hier? Und wenn es andere Probleme in meinem Code gibt, denen ich nicht bewusst bin, bitte erzählen.
Danke!
EDIT:
ich gerade bestätigt, dass onResume
dosen't erhalten aufgerufen, nachdem ich Registerkarten wechseln, was definitiv falsch ist, da ich Abnehmen und wieder Anbringen sie ... Bin ich Wechseln der Reiter die Falsche Weg?
Danke, ich hoffe, dass dies die Antwort ist, obwohl sie nicht mehr relevant ist, weil ich zu List Navigation gewechselt bin. (Macht mehr Sinn in meinem Fall und funktioniert perfekt :)) –
In meinem Fall 'FragmentTranaction.remove (Fragment # 1)' in Fragment # 1 kurz vor dem Aufruf von 'FragmentTransaction.commit()' aufrufen hilft mir, Fragment # 1 zu erzwingen gehe onPause() ... onDestroyView() beim Ersetzen durch und gehe durchCreateView() ... onResume(), wenn ich zu Fragment # 1 zurückkehre, indem ich den Zurück-Knopf drücke. –