Единственная проблема в вашем коде состоит в том, что вы «правильно» создаете транзакцию, но затем никогда не используете ее. Предоставленная транзакция FragmentTransaction ft
не может быть добавлена в backstack, поскольку она не поддерживается слушателем, однако это должно работать:
@Override
public void onTabSelected(Tab tab, android.app.FragmentTransaction ft) {
ListFragment newListFragment = new ListFragment();
Fragment newFragment = new EntryFrag();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.frameOne, newListFragment);
transaction.replace(R.id.frameTwo, newFragment);
transaction.addToBackStack(null);
transaction.commit();
}
Обратите внимание на использование transaction.replace(...
тисков ft.replace(...
, также вы должны commit()
сделать это самостоятельно, как вы правильно сделали, потому что TabListener будет только автоматически фиксировать FragmentTransaction ft
Кроме того, вы можете прочитать о добавлении в задний стек, не поддерживаемом в документации API TabListener, здесь: http://developer.android.com/reference/android/app/ActionBar.TabListener.html