如何从片段切换回MainActivity?

时间:2015-06-21 12:42:06

标签: android android-fragments

我有一个MainActivity,根据按下的特定按钮启动片段。当我在片段下并按下后退按钮时,应用程序将关闭。我的想法是,当按下后退按钮时,我将显示MainActivity,并显示所有按钮。我在MainActivity中编写了这些代码行:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
       recreate();
    }
    return super.onKeyDown(keyCode, event);
}

这是一个很好的解决方案吗?它工作得很好,唯一的事情是在片段布局的事务和活动布局之间,有一个不到半秒的黑屏。有没有办法解决它?

1 个答案:

答案 0 :(得分:2)

添加片段时,将其添加到backStack。后退将自动恢复片段并显示您的主要活动。

例如:

 FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(..............);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();