Android 如何在按下按钮时返回到上一个片段
我有两个片段,一个添加到backbackback,而另一个没有添加。考虑到我在第二个片段中,它没有被添加到堆栈中。顶部有一个关闭按钮。点击这个按钮,我应该回到前面的片段。如何做到这一点?我尝试过这样的方法:但这是可以做到的,只有将其添加到后堆栈中Android 如何在按下按钮时返回到上一个片段,android,android-fragments,Android,Android Fragments,我有两个片段,一个添加到backbackback,而另一个没有添加。考虑到我在第二个片段中,它没有被添加到堆栈中。顶部有一个关闭按钮。点击这个按钮,我应该回到前面的片段。如何做到这一点?我尝试过这样的方法:但这是可以做到的,只有将其添加到后堆栈中 public void onCloseBtnClicked(Fragment fragment, FragmentActivity activity) { if(fragment instanceof ImageFragment)
public void onCloseBtnClicked(Fragment fragment, FragmentActivity activity) {
if(fragment instanceof ImageFragment)
FragmentHelper.removeCurrentFragment(activity, fragment);
}
public static void removeCurrentFragment(final FragmentActivity activity, final Fragment fragment) {
if (fragment != null && !fragment.isDetached()) {
FragmentTransaction transaction = activity.getSupportFragmentManager().beginTransaction();
transaction.remove(fragment);
transaction.commitAllowingStateLoss();
}
}
这不起作用,因为我没有把它添加到后台。有什么方法可以实现这一点吗?使用
getFragmentManager().popBackStack()
试试getFragmentManager().popBackStack()
也来看看
如果使用
SupportFragment
请尝试getSupportFragmentManager().popbackbackstack()代码>在使用新片段提交事务之前,请将其添加到backbackback:
transaction.addToBackStack(tag);
所以当你想回去的时候:
if (mFragmentManager.getBackStackEntryCount() > 1) {
mFragmentManager.popBackStack();
}
尝试使用getFragmentManager().popBackStack()