onBackPressed无法正常工作

时间:2015-12-29 10:12:18

标签: android

我希望在从每个片段单击后退按钮时返回MainActivity,并在返回MainActivity后销毁Activity。 我尝试了一些东西,但它不断调用片段但不会破坏它。

@Override
public void onBackPressed() {
    startActivity(new Intent(this,MainActivity.class));
    finish();
}

2 个答案:

答案 0 :(得分:2)

在MainActivity中执行以下操作:

@Override
public void onBackPressed(){
   Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.frameLayout);
     if (fragment instanceof YourFragment || fragment instanceof YourOtherFragment) {
            getSupportFragmentManager().beginTransaction().replace(R.id.frameLayout, new MainScreenFragment()).commit();
        }else {
            super.onBackPressed();
        }
    }

答案 1 :(得分:0)

将此添加到Mainactivity

 @Override
    public void onBackPressed() {
        if (getFragmentManager().getBackStackEntryCount() == 0) {
            this.finish();
        } else {
            getFragmentManager().popBackStack();
        }
    }