У меня есть панель действий (actionbarsherlock) с навигацией на вкладке, и у меня есть несколько элементов действия. Один из моих элементов действия отображает ListFragment, и вот как я его называю:
case R.id.menuitem_info:
// Create new fragment and transaction
SherlockListFragment aboutListFragment = new AboutListFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
ft.replace(R.id.root, aboutListFragment);
ft.addToBackStack(null);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
// Commit the transaction
ft.commit();
return true;
Моя проблема в том, что когда я нажимаю кнопку "Назад", я получаю исключение IllegalArgumentException. Я не уверен, как удалить фрагмент из представления и отобразить предыдущий вид?
Вот мой код кнопки:
case android.R.id.home:
FragmentManager fm = getSupportFragmentManager();
if (fm.getBackStackEntryCount() > 0) {
fm.popBackStack();
}
return true;
Мы ценим любые предложения!
Я сделал следующее в случае android.R.id.home:
case android.R.id.home:
FragmentManager fm = getSupportFragmentManager();
if(fm.getBackStackEntryCount()>0){
onBackPressed();
}
return true;
Надеюсь, это поможет вам, потому что я работаю как шарм