startActivityForResult用于页面间的跳转并回传数据,比如商城类的App下单时会有选择地址,选择之后地址更新。 1.先用startActivityForResult方式启动一个页面 btn=(Button)findViewById(R.id.btn); btn.setOnClickListener MainActivity.this, SecondActivity.class); //参数1是intent,参数2是requestCode 自定义 startActivityForResult setResult(3, intent); super.onBackPressed(); } 注意,这个页面onClick事件中并没有startActivity或者startActivityForResult resultCode, data); if (resultCode == 2) {//setResult中的标识码 if (requestCode == 1) {//startActivityForResult
B回到A 在A中: Intent intent = new Intent(A.this, B.class); //发送意图标示为REQUSET=1 startActivityForResult
android中经常会遇到从当前的Activity跳转到另外一个Activity的情况,通常情况下我们会直接选择用startActivity或者startActivityForResult。 事情的起因是我在项目中遇到这样一个问题就是要求从下一个界面传数据回来,当时第一反应是用startActivityForResult解决,当我把代码敲完过后一测试,我擦咧,结果没回来。 Intent firstIntent = new Intent(MainActivity.this, StandardActivity.class); startActivityForResult Intent secondIntent = new Intent(MainActivity.this, SingleTopActivity.class); startActivityForResult 总结:要想让startActivityForResult收到回传数据,那对应的Activity只能是standard或者singTop模式。
一、介绍 当我们在第一个Activity打开第二个Activity时,第二个Activity关闭并想返回数据给第一个Activity时,我们就可以使用startActivityForResult进行传值 用到的几个方法介绍: 1. startActivityForResult(Intent intent, int requestCode) requestCode:如果> = 0,当Activity 2. onActivityResult(int requestCode, int resultCode, Intent data) requestCode:用于与startActivityForResult 二、示例 1、使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,为了得到传回的数据,必须在Activity 的时候,不要使用getActivity().startActivityForResult,而是应该直接使startActivityForResult()。
startActivityForResult用法 startActivityForResult主要用来从FirstActivity跳转到SecondActivity然后返回FirstActivity并且获取从 new Intent(ClockManagerActivity.this,NewMapActivity.class); intent.putExtra("address",position); startActivityForResult
startActivityForResult报错! startActivityForResult(new Intent(MainActivity.this, OtherActivity.class), 0); 骗子!
startActivityForResult无法回调 Android中常常需要用到startActivityForResult()方法来获得Activity回执信息的场景。 使用getActivity.startActivityForResult会回调到附属Activity的回调方法中。
image.png startActivityForResult startActivityForResult与startActivity类似都是用来跳转界面。 但是,startActivityForResult和startActivity也有不同的地方: startActivity仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity startActivityForResult可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了 也就是执行startActivityForResult后可以从打开的界面,再返回到主界面去。 相关的接口: startActivityForResult(Intent intent, Int requestCode) setResut(int resultCode, Intent intent)
领导说我基础差,我也没反驳,知识忘记了,用到的时候查一下不久行了吗,自己最近在回顾知识 好好的在补充一下,今天礼拜日,趁着空闲事件记录一下简单的知识 startActivityForResult() 也是经常使用到比如我们做城市选择点击城市 ,返回点击的城市等等, 使用startActivityForResult()方法 你需要清楚 1 startActivityForResult(Intent intent, int requestCode Intent intent = new Intent(InformatonActivity.this, NickNameActivity.class); startActivityForResult
Android EagleEye官方介绍在 https://github.com/MindMac/AndroidEagleEye/blob/master/README-zh.md
当一个OneActivity跳转到TwoActivity时,TwoActivity关闭时要把数据传回到OneActivity,这个时候就得用到StartActivityForResult。 使用这个方法特别要注意的是:一个Activity中可能包含多个按钮,并调用多个startActivityForResult方法来打开不同的Activity处理业务,当这些新Activity关闭后,系统会调用前面的 "oneContent", "OneActivty->TwoActivity"); intent.putExtras(bundle); startActivityForResult threeContent", "TwoActivity->ThreeActivity"); intent2.putExtras(bundle2); startActivityForResult
在Android中startActivityForResult主要作用就是: A-Activity需要在B-Activtiy中执行一些数据操作,而B-Activity又要将,执行操作数据的结果返回给A-Activtiy Intent intent=new Intent(ActivityResultDemoActivity.this,SimpleTaskActivity.class); //关键点来了,使用startActivityForResult 来启动 startActivityForResult(intent, 100); } } /** * 复写onActivityResult
一个需求:一个activity到另一个activity进行一些设置,返回第一个activity的时候 获取第二个activity设置的数据 百度了一下,发现startActivityForResult这个很完美的符合了我的效果要求 正文: startActivityForResult的主要作用就是它可以回传数据,假设我们有两个页面,首先进入第一个页面,里面有一个按钮,用于进入下一个页面,当进入下一个页面时,进行设置操作,并在其finish ,Use_startActivityForResult_second.class); 35 36 } 37 @Override 38 public void onClick(View 请求码的作用 使用startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,我们需要为startActivityForResult 结果码的作用 在一个Activity中,可能会使用startActivityForResult()方法打开多个不同的Activity处理不同的业务,当这些新Activity关闭后,系统都会调用前面Activity
如果你将项目中的appcompat库升级到1.3.0或更高的版本,你会发现startActivityForResult()方法已经被废弃了。 既然有更好的API,那么就不再建议去使用过去老旧的API,所以才把startActivityForResult()方法标为了废弃。 其实除了startActivityForResult()方法之外,还有像requestPermissions()方法也被标为了废弃。 请求运行时权限 除了startActivityForResult()方法之外,requestPermissions()方法也被废弃了。 现在你已经知道,Activity Result API是可以完全取代startActivityForResult()方法的。
调用的几种方式 用getActivity方法发起调用,只有父Activity的onActivityResult会调用,Fragment中的onActivityResult不会被调用 直接发起startActivityForResult 源码分析 直接调用startActivityForResult (1)发起startActivityForResult调用 这种情况会直接调用到Fragment的startActivityForResult 方法 //Fragment.class public void startActivityForResult(Intent intent, int requestCode, @Nullable Bundle 调用,这里requestIndex和requestCode关联起来 ActivityCompat.startActivityForResult( this 方法就行,getActivity().startActivityForResult()、getParentFragment().startActivityForResult()除非你知道为什么要用这2种方式
还好startActivityForResult来做跳转给了我们更好的解决办法: ?
kotlin版本的写法: private val startActivity = registerForActivityResult(ActivityResultContracts.StartActivityForResult } } 跳转方法 val intent = Intent(this@MainActivity, NewWordActivity::class.java) // startActivityForResult 13:52 */ public class JumpPage extends AppCompatActivity { public void goPage() { // startActivityForResult ActivityResultLauncher<Intent> intentActivityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult
文章目录 一、如何解决 startActivityForResult 被弃用? 二、ActivityResultContract 该如何使用? 三、但是……我就想简单的使用startActivityForResult怎么办? 一、如何解决 startActivityForResult 被弃用? 其实不然,因为上面代码的需求是一个单一的回调,所以看着似乎startActivityForResult更便于维护和使用。 除了StartActivityForResult(),Android还提供了以下的默认协定以便于开发者的使用 ActivityResultContracts.* 说明 参数 回调 StartActivityForResult
关于startActivityForResult startActivityForResult(Intent intent, int requestCode)老是遗忘 尤其其中的几个参数。 所以今天就简单的记录下来 startActivityForResult startActivityForResult(Intent intent, int requestCode)。 一.首先在ActivityA中启动startActivityForResult startActivityForResult(Intent intent, int requestCode) 参数1.就是一个
如果你将项目中的appcompat库升级到1.3.0或更高的版本,你会发现startActivityForResult()方法已经被废弃了。 既然有更好的API,那么就不再建议去使用过去老旧的API,所以才把startActivityForResult()方法标为了废弃。 其实除了startActivityForResult()方法之外,还有像requestPermissions()方法也被标为了废弃。 请求运行时权限 除了startActivityForResult()方法之外,requestPermissions()方法也被废弃了。 现在你已经知道,Activity Result API是可以完全取代startActivityForResult()方法的。