如何从片段返回上一个活动?

时间:2016-09-20 14:13:31

标签: android android-fragments fragmentmanager

如何回到最后Activity来自Fragment的人?我们假设我们Activity A和Fragment A.我从Fragment A启动Activity A,现在我想回到{ {1}} A.当我按下手机上的后退按钮时,它会关闭应用程序。

我使用Fragment

启动片段
FragmentManager

是解决方案; Fragment fragment = new Kontakt(); getFragmentManager().beginTransaction() .add(R.id.kontaktfrag, fragment) .commit(); popBackStackImmediate()

2 个答案:

答案 0 :(得分:0)

尝试添加

 getFragmentManager()
.beginTransaction()
.addToBackStack("")
.commit();

或者只是在.commit()之前添加.addToBackStack("");

这是您案例中的代码,

 Fragment fragment = new Kontakt();
        getFragmentManager().beginTransaction()
                .add(R.id.kontaktfrag, fragment)
                .addToBackStack("")
                .commit();

答案 1 :(得分:0)

首先在添加片段时尝试addToBackStack。 然后,您需要覆盖活动的onBackPressed功能,例如:

@Override
public void onBackPressed() {
    if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
        getSupportFragmentManager().popBackStackImmediate();
    } else {
        super.onBackPressed();
    }
}

我尝试了自己并且有效。