其他分享
首页 > 其他分享> > android – 从Fragment处理OnBackPress

android – 从Fragment处理OnBackPress

作者:互联网

我有3个片段Fragment1,Fragment2和Fragment3,导航就像

Fragment1->Fragment2->Fragment3

但是在背面按下Fragment3,在完成Fragment2之类的任务之后回到Fragment2.并从Fragment1完成此活动.

什么是最好的方法来完成这项任务.

解决方法:

根据您的问题,您必须在commit()事务之前添加addToBackStack()方法.

例如:

FirstFragment firstFragment = new FirstFragment();
getSupportFragmentManager().beginTransaction()
    .replace(R.id.article_fragment, firstFragment)
    .addToBackStack(null).commit();

添加与上述方式相同的第二个和第三个片段,只需在onBackPressed()覆盖方法中添加代码.

例如:

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

标签:android,android-fragments,fragment-backstack
来源: https://codeday.me/bug/20190828/1748662.html