【发布时间】:2020-06-08 03:09:21
【问题描述】:
我正在使用导航抽屉导航到许多不同的片段。在少数情况下,一些片段被放置在其他片段之上。但是,当我按下后退按钮将我带到上一个片段时,它会回到主片段。
MapFragment.java
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction fr = getFragmentManager().beginTransaction();
fr.replace(R.id.navHostFragment, new ImgMapFragment()).addToBackStack(null);
fr.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
fr.addToBackStack(null);
fr.commit();
如何做到这一点,以便当我打开 ImgMapFragment 时,我可以返回到我所在的上一个片段而不是 HomeFragment
【问题讨论】:
-
如果你可以处理它,你应该使用导航组件。 developer.android.com/guide/navigation/…
-
如果你使用
addToBackStack(null)一次,它应该像onBackPressed一样简单正确处理 -
@EpicPandaForce 是的,我只有一次。我不确定它是怎么回事。出于某种原因,它只是将我送回主片段而不是地图片段?
-
@MuratÇakır 是的,我正在使用导航。但是我不明白当我从 HomeFragment->MapFragment->ImgMapFragment 去按返回键时,为什么会去 imgMapFragment->HomeFragment,而不是 imgMapFragment->MapFragment?
-
您的样本中有两次:P
标签: android android-studio android-fragments fragment back-stack