在活动中使用 OnBackPressed 方法的一个片段到另一个片段

     2023-04-18     226

关键词:

【中文标题】在活动中使用 OnBackPressed 方法的一个片段到另一个片段【英文标题】:One fragment To Another fragment using OnBackPressed method in activity 【发布时间】:2021-11-23 01:52:10 【问题描述】:

我的问题很简单,当我按下返回按钮时,它将转到上一个片段,我该怎么做?当我在对话中单击“是”按钮时,如果我单击没有进入前一个片段的按钮,它将完成显示..

@Override
    public void onBackPressed() 
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setCancelable(false);
        builder.setMessage("Do you want to Exit?");
        builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() 
            @Override
            public void onClick(DialogInterface dialog, int which) 
                //if user pressed "yes", then he is allowed to exit from application
                finish();
            
        );
        builder.setNegativeButton("No",new DialogInterface.OnClickListener() 
            @Override
            public void onClick(DialogInterface dialog, int which) 
                //if user select "No", just cancel this dialog and continue with app
                dialog.cancel();
            
        );
        AlertDialog alert=builder.create();
        alert.show();

    

【问题讨论】:

【参考方案1】:

首先如果你提交任何片段添加 addToBackStack()

getSupportFragmentManager().beginTransaction().addToBackStack(null).replace(R.id.nav_host_fragment,new NewFragment()).commit();

然后

        @Override
        public void onBackPressed() 
          if (getSupportFragmentManager().getBackStackEntryCount() > 0) 
              getSupportFragmentManager().popBackStack();
           else 
              AlertDialog.Builder builder = new AlertDialog.Builder(this);
              builder.setCancelable(false);
              builder.setMessage("Do you want to Exit?");
              builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() 
                  
                  @Override
                  public void onClick(DialogInterface dialog, int which) 
                      //if user pressed "yes", then he is allowed to exit from application
                      finish();
                  
              );
              builder.setNegativeButton("No",new DialogInterface.OnClickListener() 
                  
                  @Override
                  public void onClick(DialogInterface dialog, int which) 
                      //if user select "No", just cancel this dialog and continue with app
                      dialog.cancel();
                  
              );

              AlertDialog alert=builder.create();
              alert.show();
          
        

【讨论】:

在单个活动 android 应用程序中管理 onBackPressed

】在单个活动android应用程序中管理onBackPressed【英文标题】:ManageonBackPressedinsingleactivityandroidapp【发布时间】:2021-08-0723:51:12【问题描述】:我有一个活动应用程序,我想通过按两次后退按钮来管理应用程序退出。现在我不知道... 查看详情

onBackPressed() 覆盖

】onBackPressed()覆盖【英文标题】:onBackPressed()override【发布时间】:2014-02-2511:18:10【问题描述】:这是我的应用程序的结构:ActivityA是一个ListViewActivity,带有一个用于启动BActivity的按钮。在完成表单后的B活动中,有一个启动C活... 查看详情

在可序列化之后使用 onBackPressed() 发回列表

】在可序列化之后使用onBackPressed()发回列表【英文标题】:SendbackListwithonBackPressed()afterSerializable【发布时间】:2017-09-1002:00:35【问题描述】:如何在活动B中的onBackPressed()操作后更新列表值,并将此更改保存在活动A中的列表中。... 查看详情

从 dialogfragment 调用 onBackPressed 完成活动

】从dialogfragment调用onBackPressed完成活动【英文标题】:CallingonBackPressedfromadialogfragmentfinishestheactivity【发布时间】:2022-01-0700:16:13【问题描述】:我有一个对话框片段,上面有一个关闭按钮。这个对话框是从两个不同的活动中调... 查看详情

在父Activity onBackPressed方法中调用Fragment接口方法

】在父ActivityonBackPressed方法中调用Fragment接口方法【英文标题】:CallingFragmentinterfacemethodinparentActivityonBackPressedmethod【发布时间】:2016-11-2704:24:42【问题描述】:我有一个扩展AppCompatActivity的Activity。而且在这个活动中,我有一个V... 查看详情

Flutter中onbackpressed的等效方法是啥

】Flutter中onbackpressed的等效方法是啥【英文标题】:whatistheequivalentmethodofonbackpressedinflutterFlutter中onbackpressed的等效方法是什么【发布时间】:2019-06-1522:08:49【问题描述】:我希望在Flutter应用程序中使用与Android相同的onBackPressed逻... 查看详情

在 Android 片段中使用 onBackPressed()

】在Android片段中使用onBackPressed()【英文标题】:UsingonBackPressed()inAndroidFragments【发布时间】:2013-08-1322:40:48【问题描述】:我正在做一个项目,我需要能够使用每个片段中的后退按钮在之前的片段之间导航,我已经编写了通过在... 查看详情

如何使用 onBackPressed() 显示 SoftKeyboard 来完成()活动

】如何使用onBackPressed()显示SoftKeyboard来完成()活动【英文标题】:Howtofinish()anactivitywithSoftKeyboardvisiblewithonBackPressed()【发布时间】:2016-02-1320:23:19【问题描述】:我有一个活动,整个屏幕都专门用于发送一条消息。上半部分是... 查看详情

onbackpressed()使用(代码片段)

onBackPressed():当手机按下back键时,执行此方法。 用此方法时:有super.onBackPressed()时不能把在此方法中设置的intent传回上一个Activity,                       因此去掉super.onBackPressed() 在末尾加上finish(&... 查看详情

onBackPressed 上的 Android 片段 NullPointerException

】onBackPressed上的Android片段NullPointerException【英文标题】:AndroidfragmentNullPointerExceptionononBackPressed【发布时间】:2012-08-1720:59:37【问题描述】:美好的一天。我有一个应用程序,它有一个包含3个容器的主要活动。每个容器都有一... 查看详情

应用程序在主要活动中关闭onbackpressed(代码片段)

您好我是片段新手..我有一个主要活动和两个片段。如果我在第一个片段的editText中输入数据,它将显示在第二个片段的TextView上。如果我输入数据并重复按下提交按钮,数据也会在第二个片段中更改..但是当我按下后退按钮时,... 查看详情

如何在片段 kotlin 中编写 onBackPressed()

】如何在片段kotlin中编写onBackPressed()【英文标题】:howtowriteonBackPressed()infragmentkotlin【发布时间】:2022-01-0801:33:53【问题描述】:我在仪表板活动中创建了4个片段1、2、3、4在后退按钮按下时,我必须从4到1、3到1、2到1返回这样... 查看详情

在 onBackPressed() Android 中使用多个条件

】在onBackPressed()Android中使用多个条件【英文标题】:UsingmultipleconditionsinonBackPressed()Android【发布时间】:2021-10-2818:55:53【问题描述】:我正在使用一个非常简单的应用程序,它带有一个WebView和一个扩展的浮动操作按钮。在用户... 查看详情

onBackPressed 在 recreate() 后不调用

】onBackPressed在recreate()后不调用【英文标题】:onBackPressednotcallsafterrecreate()【发布时间】:2016-10-1609:28:22【问题描述】:问题描述:我的应用有主要活动和设置活动。每次关闭SettingsActivity后,MainActivity都会重新创建。主Activity可... 查看详情

RecyclerView 适配器中的 onBackPressed()

】RecyclerView适配器中的onBackPressed()【英文标题】:onBackPressed()inRecyclerViewAdapter【发布时间】:2021-05-1019:39:09【问题描述】:我正在为RecyclerView创建一个适配器;当前为RecyclerView中的项目创建onClickListener;我希望回到我似乎做不到... 查看详情

onbackpressed 数据未显示在片段中

】onbackpressed数据未显示在片段中【英文标题】:onbackpresseddatanotshowinginfragments【发布时间】:2015-11-1422:39:45【问题描述】:我在我的应用程序中使用导航抽屉,我有F1、F2等片段......并且在每个fragment中我正在解析数据并显示在lis... 查看详情

如何在 Fragments 中实现 onBackPressed()?

】如何在Fragments中实现onBackPressed()?【英文标题】:HowtoimplementonBackPressed()inFragments?【发布时间】:2011-07-2320:22:18【问题描述】:有没有一种方法可以在AndroidFragment中实现onBackPressed(),类似于我们在AndroidActivity中的实现方式?由... 查看详情

使用 onBackPressed 仅从第一个片段退出 App

】使用onBackPressed仅从第一个片段退出App【英文标题】:ExitfromApponlyfromthe1stfragmentusingonBackPressed【发布时间】:2016-09-2001:35:13【问题描述】:我的MainActivity在导航抽屉中有6个片段。现在,每当我处于6个片段中的任何一个片段中时... 查看详情