android-fragments 如何在登录片段中关闭Back Pressed上的应用程序?

4ioopgfo  于 2022-11-14  发布在  Android
关注(0)|答案(2)|浏览(125)

我正在使用Navigation Components和Firebase身份验证,我有两个片段**[A][B]。其中A-〉登录**片段,B-〉用户列表。当我从[A]成功登录时,我导航到片段[B]。[B]片段中有一个“退出”按钮。按下“退出”按钮后,我从firebase退出并导航到片段[A]。但是,当我按下返回按钮时,我再次导航到片段[B],而不是关闭应用程序。如果我在按下返回按钮时处于片段[A],我想关闭应用程序。

tyg4sfes

tyg4sfes1#

清除回栈并启动新的顶层
Learn More
试试这个

<action android:id="@+id/action_b_to_a"
            app:destination="@id/a"
            app:popUpTo="@+id/a"
            app:popUpToInclusive="true"/>
zbdgwd5y

zbdgwd5y2#

试试这个*实现你的主要活动代码 *

@Override
public void onBackPressed() {
    Log.e("TAG", "onBackPressed: "+getSupportFragmentManager().getBackStackEntryCount() );
    if (getSupportFragmentManager().getBackStackEntryCount() > 1){
        getSupportFragmentManager().popBackStack();
    }else {
        finish();
    }
}

相关问题