在android开发中,当不满足触发条件就按返回键的时候,就要对此进行检测。尤其是当前Activity需要往前一个Activity传送消息时。即Activity1跳转到Activity3如果采用的是startActivityForResult这种方式,如果不重写返回键,程序不知道要返回给Activity1什么内容就会报错。因此,必须对Activity3的返回按键重写。
@Override public void onBackPressed() { //A跳转到B如果采用的是startActivityForResult这种方式, //如果不重写返回键,程序不知道要返回给Activity1什么内容就会报错 //有super.onBackPressed() 时 不能把在此方法中设置的 intent 传回 //上一个Activity ,因此 去掉super.onBackPressed() 在末尾加上finish Intent intent=new Intent(); intent = getIntent().putExtra("callAddItem", false); setResult(RESULT_OK, intent); finish(); }
有super.onBackPressed() 时 不能把在此方法中设置的 intent 传回上一个Activity ,因此 去掉super.onBackPressed() 在末尾加上finish();在上一个activity中用onActivityResult() 方法接受上此Activity的onBackPressed()方法传回去的intent,在onBackPressed()设置resultCode 在上一个Activity 的OnActivityResult()中验证;
相关推荐
在Android应用开发中,`StartActivityForResult`是一个关键的组件交互方法,用于在一个Activity(活动)启动另一个Activity并期望得到返回结果。这个方法允许开发者在应用程序的不同组件之间传递数据,通常用于实现...
在Android应用开发中,`startActivityForResult`是一个非常重要的方法,它允许我们在启动一个Activity时传递数据,并在那个Activity执行完后返回结果到调用它的Activity。这个过程涉及到Intent、生命周期管理和数据...
startActivityForResult过时.md
5. 主Activity的`onActivityResult`回调方法被触发,根据请求码判断是哪个`StartActivityForResult`返回的结果,然后处理返回的数据。 ### 2. 使用步骤 #### 步骤1:创建Intent 在启动者Activity中,创建一个...
在Android开发中,`Fragment`是App界面设计中不可或缺的一部分,它允许我们构建模块化、可重用的UI组件。然而,尽管`Activity`中的`startActivityForResult()`方法被广泛使用,但`Fragment`中的相应功能`...
在Android应用开发中,`startActivityForResult`是一个关键方法,用于在两个Activity之间进行交互,尤其是在需要从一个Activity启动另一个Activity并期待返回结果时。这个方法允许开发者在启动新的Activity时传递...
例如,在一个日记应用中,用户可能需要从相册选取图片来添加到日记条目,这就需要用到`startActivityForResult()`来启动相册选择器,然后在选择图片后返回到日记编辑界面。 源码分析部分可能讲解了`...
这样,结果就会自动通过`onActivityResult`回调返回,但我们不需要重写这个回调,而是通过Observable的`doOnNext`或`doOnError`来处理结果: ```java resultObservable .doOnNext(result -> { // 处理返回的结果 ...
在Android应用开发中,`startActivityForResult`是一个非常重要的方法,它允许我们启动一个新的Activity,并在新Activity执行完特定操作后返回结果。这篇博客“startActivityForResult Demo”可能详细介绍了如何使用...
`startActivityForResult()`是Intent的一种特殊用法,它允许一个Activity启动另一个Activity,并期望在新Activity执行完特定操作后返回结果。下面将详细阐述`startActivityForResult()`的工作原理及其在实际开发中的...
这样,你就可以在一个更友好的接口下启动带有结果的Activity,而不需要直接处理请求码。这样的工具类可能如下: ```kotlin class ActivityUtils { companion object { fun startActivityForResult(activity: ...
在Android应用开发中,`Activity`是用户界面的主要载体,而`startActivityForResult`方法则用于在一个`Activity`中启动另一个`Activity`并期待得到返回的结果。本文将深入探讨`Activity`的四种启动模式(Standard、...
在Android应用开发中,`startActivityForResult`是一个关键的方法,用于启动一个新的Activity并期待返回一个结果。这个方法常用于在不同Activity之间进行数据交互,比如获取用户的选择、处理权限请求等。在这个场景...
2. 如果新Activity不返回任何结果,`setResult()`可以设置为`RESULT_CANCELED`,表示操作取消。 3. `onActivityResult()`会在所有与当前Activity关联的`onPause()`方法之后调用,而在`onResume()`之前。 4. 当新...
在Android应用开发中,`startActivityForResult`是一个关键的API,用于从一个活动(Activity)启动另一个活动,并期望在新活动执行完毕后返回结果。这个方法使得不同活动间的交互变得可能,尤其在需要用户进行一些...
3个方法的介绍和使用 startActivityForResult(Intent intent, int requestCode ) onActivityResult(int requestCode ,int resultCode, Intent data) setResult(int resultCode,intent intent)
当 requestCode 比较多的时候,代码就会变得臃肿,并且逻辑被分离了,调用 startActivityForResult 的地方和接收结果的地方不在同一个位置,增加了代码的阅读难度。 为了解决这个问题,可以借鉴 Glide 使用 ...
这里实现的效果是,点击a Activity后,屏幕会跳转到手机的通讯录,任意选择点击一个通讯录中的联系人,则从通讯录Activity跳回到a Activity并在a Activity上显示你刚才选择通讯录联系人的名字。
定义了4个Activity,主activity跳转到其他2个时附带String good,第二个在接收到数据后将String +"boy"后返回给主Activity并Toast;第三个在接收到数据后将String +"boy&girl"后返回给主Activity并Toast。第4个采用...