Android Studio片段没有响应后按按钮

Posted

技术标签:

【中文标题】Android Studio片段没有响应后按按钮【英文标题】:Android studio fragment not responding to back pressed button 【发布时间】:2020-04-12 12:21:11 【问题描述】:

我的应用中只有一个活动和很多片段

一切正常,我将此代码添加到我的 loginFragment

 @Override
public void onStart() 
    super.onStart();

    SPManager.init(getContext().getApplicationContext());
    if(SPManager.isLogged())
        NavController navController = Navigation.findNavController(getActivity(), R.id.host_fragment);
        navController.navigate(R.id.action_login_to_mainFragment);

    

现在 后退按钮 可以在除 mainFragment 之外的任何地方使用,我希望它在按下时退出应用程序。

我查看了其他代码,但没有一个答案对我有用。 我正在使用导航架构,并且我的所有片段都通过操作正确链接

【问题讨论】:

【参考方案1】:

将此代码放入您要在按下后退按钮后完成的主要活动中

@Override
public void onBackPressed() 
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Exit");
    builder.setMessage("Are you sure, you want to exit?");
    builder.setNegativeButton("Yes", new DialogInterface.OnClickListener() 
        @Override
        public void onClick(DialogInterface dialog, int which) 
            dialog.dismiss();
            finish();
        
    );
    builder.setPositiveButton("No", new DialogInterface.OnClickListener() 
        @Override
        public void onClick(DialogInterface dialog, int which) 
            dialog.dismiss();
        
    );
    builder.create();
    builder.show();

【讨论】:

以上是关于Android Studio片段没有响应后按按钮的主要内容,如果未能解决你的问题,请参考以下文章

通过按下 Android Studio 中的片段中的按钮进入新页面

手电筒片段 Android Studio

Android Studio - 片段按钮操作

在 Android Studio 的默认导航抽屉模板中使用按钮在片段之间切换

在 Android 中使用片段时处理后按

在 android Studio 中,我希望当我点击按钮时,下一个活动/片段应该来自右侧