在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()中验证;
相关推荐
使用startActivityForResult回传数据
startActivityForResult过时.md
介绍了StartActivityForResult的运用,并总结了一些问题及答案,可供初学者参考,代码无误,放心运行!
关于startActivity被大家忽略的 Fragment中的startActivityForResult方法
startActivityForResult
基于RxPermissions框架思想,在使用startActivityForResult可以不重写onActivityResult回调
使用StartActivityForResult进行Activity跳转传值的小例子
Android之Intent通过startActivityForResult方法启动新Activity
3个方法的介绍和使用 startActivityForResult(Intent intent, int requestCode ) onActivityResult(int requestCode ,int resultCode, Intent data) setResult(int resultCode,intent intent)
一种 startActivityForResult 更简单流程
startActivityForResult获得通讯录中电话信息
startActivityForResult使用方式,代码比较简单
这里实现的效果是,点击a Activity后,屏幕会跳转到手机的通讯录,任意选择点击一个通讯录中的联系人,则从通讯录Activity跳回到a Activity并在a Activity上显示你刚才选择通讯录联系人的名字。
定义了4个Activity,主activity跳转到其他2个时附带String good,第二个在接收到数据后将String +"boy"后返回给主Activity并Toast;第三个在接收到数据后将String +"boy&girl"后返回给主Activity并Toast。第4个采用...
在android开发中,当不满足触发条件就按返回键的时候,就要对此进行检测。尤其是当前Activity需要往前一个Activity传送消息时。即Activity1跳转到Activity3如果采用的是startActivityForResult这种方式,如果不重写...
NULL 博文链接:https://duduli.iteye.com/blog/1422558
startActivityForResult
NULL 博文链接:https://zhanglimijavaeye.iteye.com/blog/965433
NULL 博文链接:https://676744379-qq-com.iteye.com/blog/1122436