当我点击真实设备上的背面按键时,它转到主页而不是上一页,这里我使用片段如何解决该问题
在第一片段中
NotesFragment notes = new NotesFragment();
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.day_fragment_mainLayout, notes);
transaction.addToBackStack(null);
transaction.commit();
第二段中的
DayFragment day = new DayFragment();
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.addToBackStack(null);
transaction.replace(R.id.day_fragment_mainLayout, day);
transaction.commit();
第三段中的
ItemsFragment items = new ItemsFragment();
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.addToBackStack(null);
transaction.replace(R.id.day_fragment_mainLayout, items);
transaction.commit();
当我点击背压按钮时,它会转到主页,我需要prevoius页面。
注意: btnclick我用来一对一地导航片段
答案 0 :(得分:1)
您可以使用FragmentTransaction的add()
方法实现它,然后覆盖onBackPressed,您必须弹出FragmentManager的后台堆栈。这将导致您描述的行为。
答案 1 :(得分:0)
您无法返回,因为您没有打开任何新活动。 OnBackPressed将您带到存储在堆栈中的上一个活动。如果要返回上一个片段,则必须将前一个片段存储在某处,然后使用:
@Override
public void onBackPressed() {
// here you should change the fragment
transaction.replace(YOUR_PREVIOUS_FRAGMENT, items);
transaction.commit();
}
感谢您的关注!