android - 如何从 Activity 中返回到最后一个 fragment ?

标签 android android-fragments android-activity

<分区>

我有很多 fragment 和两个 Activity ,一个是包含每个 fragment 的主要 Activity 。当我要从任何 fragment 进行第二个 Activity 时,它的工作正常但之后我按下后退按钮返回到我最后添加的 fragment ,在这种情况下我来到主屏幕。我必须有第二个 Activity ,我不能用 fragment 替换它。如何从 Activity 返回到最后一个 fragment ?

在另一种情况下,我必须转到浏览器,然后在浏览器中按下后退按钮,应用程序会直接转到主屏幕,那么如何防止这种情况发生呢?

最佳答案

当您从第二个 Activity 按下后退时,第一个 Activity 的 onResume() 将被调用。因此您已从 onResume() 管理它,检查返回堆栈中的最后一个 fragment 并移动到该 fragment 。

因此您必须在第一个 Activity 的 onResume() 中使用此代码

FragmentManager manager = getSupportFragmentManager();
int count = manager.getBackStackEntryCount();
if(count>0){
  Fragment  mfragment = manager.getBackStackEntryAt(count-1);
  FragmentTransaction ft = fragmentManager.beginTransaction();
  ft.replace(R.id.content_frame, mFragment);
  ft.commit();
}

关于android - 如何从 Activity 中返回到最后一个 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21604692/

相关文章:

android - 使用 2 行文本创建自定义按钮

android - 通过蓝牙在 Android 和 iPhone 之间传输文件?

java - 根据从 Fragment A 收集的数据使用较少的样板代码从 Activity 启动 Fragment B

android - 由于 fragment 事务多次调用 Oncreate

android - 当我单击另一个自定义 ListView 项时填充自定义 ListView

android - 如何决定何时在单独的进程中运行不同的 android 应用程序组件

android - 在不知道其名称的情况下启动当前应用程序的主要 Activity

java - 无法使用Android BT API方法

安卓日期选择器

android - 将两个 TextView 放在包含 Google map 的 fragment 上方