У меня есть активность, где я вызываю три фрагмента - каждый зависит друг от друга:
A (ctivity) → f1 (Fragment one, title {is | should}: list) → f2 (фрагмент two, title {is | should}: обзор) → f3 (фрагмент три, название {is | должен}: подробно)
ATM Я использую следующий вызов метода для перехода назад:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
FragmentManager fragmentManager = getSupportFragmentManager();
if (fragmentManager.getBackStackEntryCount()>0){
fragmentManager.popBackStack();
}
}
}
Это прекрасно работает.
Я переопределяю заголовок ActionBar в каждом фрагменте следующим образом:
ActionBar bar = getSherlockActivity().getSupportActionBar();
bar.setTitle(R.string.title_f3);
При навигации вперед (как показано выше) это работает безупречно, но при навигации назад название ActionBar не обновляется:
f3 (title {is | should}: detail) → f2 (title {is}: detail, {should}: overview) → f1 (title {is}: detail, {should}: list)
Очевидно, я мог бы просто обновить его снова, когда будет показан фрагмент. Но мой отладчик никогда не останавливается ни на одном из методов, за исключением тех, которые будут называться как onResume().
Итак, существует ли какой-либо метод, который вызывается в предыдущем фрагменте после popBackStack()?