Изменить replace(), чтобы скрыть / показать фрагмент Android
Я сталкиваюсь с некоторой проблемой с воссозданием фрагментов между переключателями вкладок, и мне нужно заменить текущую систему, которая использует beginTransaction().replace() для beginTransaction().hide/show(), но я получаю пустой фрагмент, когда я называю это, кто-то может помочь мне сделать эту работу?
вот мой класс:
public class MainScreen extends BaseActivity{
private Fragment fragment;
public MainScreen() {
super(R.string.app_name);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null)
fragment = getSupportFragmentManager().getFragment(savedInstanceState, "mContent");
if (fragment == null)
fragment = new HomeFragment();
setContentView(R.layout.main_screen);
getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit();
setBehindContentView(R.layout.main_menu_frame);
getSupportFragmentManager().beginTransaction().replace(R.id.main_menu_frame, new MainMenuListFragment()).commit();
getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
getSupportFragmentManager().putFragment(outState, "mContent", fragment);
}
@Override
protected void onResume() {
super.onResume();
getSlidingMenu().showContent();
}
public void switchContent(Fragment fragment) {
FragmentManager fm = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
ft.hide(this.fragment);
this.fragment = fragment;
ft.show(fragment);
ft.commit();
getSlidingMenu().showContent();
//getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit();
}
public void setActionBarTitle(String title){
getActionBar().setTitle(title);
}
}
сейчас я делаю
FragmentManager fm = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
ft.hide(this.fragment);
this.fragment = fragment;
ft.show(fragment);
ft.commit();
getSlidingMenu().showContent();
Вместо getSupportFragmentManager(). BeginTransaction (). Replace (R.id.content_frame, фрагмент).commit (); Но это оставляет меня пустой фрагмент, когда я прячусь
Кто-нибудь может мне помочь? Спасибо!