博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android学习之路之startActivityForResult和setResult的使用
阅读量:3685 次
发布时间:2019-05-21

本文共 1341 字,大约阅读时间需要 4 分钟。

ntent intent = new Intent(A.this,B.class);//注意startActivityForResult(intent,code);//code为自己定义的对应的值,可以当标识使用,假如有多个按钮要使用这个功能,则判断code即可判断按钮需跳到指定的activity//需要重写OnActivityResult()方法protected void onActivityResult(int requestCode,int resultCode,Intent data){//这里判断codeif(requestCode==code){//使用resultCode判断返回的值,可以使用data(返回的值)if(resultCode==B.code){//执行相应的程序if(resultCode==B.RESULT_CODE!){edit.setText(data.getStringExtra(name));}}}}
在开发android的时候,有时候会需要这样的功能,我在Activity A中(简称A)要填写某资料,点击选择按钮,跳转到Activity B(简称B),在B中选择好数据后,B自动消失,A中的编辑框则显示对应的数据。

这是在学习Intent数据传输时一个方法,感觉像Spinner一样,现在就介绍我对以上需求的做法

首先写界面

界面A和界面B,一个是编辑框,一个是数据列表(这里我用的是ListView)

这里需要定义一个常量CODE,可以理解是识别码,判断提交的是哪个按钮还有获取的哪个数据,下面会介绍:

MainActivity中定义REQUEST_CODE,有几个按钮就定义到几,这里我定义REQUEST_CODE1=1;

在button添加监听事件的时候这样写

注意上述代码中是startActivityForResult(intent,RESULT_CODE1);而不是startActivity(intent);这里是区别,注意一下

然后开始写B界面的Activity

这里定义public RESULT_CODE1=1 使用public是为了让A可以调用这个code

//先定义code,方便源activity使用!public static final int code = 1;在为B里控件添加监听事件的时候这样写intentIntent intent = getIntent();//放数据intent.putExtraString(key,value);//注意setResult(code,intent);//关闭当前activityfinish();
其他的正常写,在监听事件的时候注意上述代码,setResult(RESULT_CODE1,intent);,还有后面的关闭当前Activity

finish(),没有这句话,则失败

这样就完成了

这次写的不在状态,因为代码不在这台电脑上,都是自己手写的!望见谅

网上有一些介绍serResult()和startActivityForResult()的调用时机,这里不讲这些,这里只是介绍简单的使用,等我什么时候遇到这个问题了,我再自习的为大家讲解!!!

转载地址:http://nqzdn.baihongyu.com/

你可能感兴趣的文章
python关于print中数据传输的用法
查看>>
sublime text3的快捷键总结
查看>>
gdal学习笔记2-数据读写
查看>>
python中动态生成变量名及赋值
查看>>
python识别数据结构
查看>>
python bisect序列二分法详解
查看>>
python学习笔记字典排序,
查看>>
python内置类 set
查看>>
python getatrra()
查看>>
thinkpython2的扑克牌系列练习最终解读
查看>>
matlab复色光夫琅禾费衍射
查看>>
Java中线程的基本操作以及Thread和Runnable两种实现的比较
查看>>
MongoDbRepository的常用AP操作和易错点
查看>>
MongDBRepository和MongDBOperator和MongTemplate的方法比较
查看>>
IntelliJ IDEA中关于Maven构建复杂的聚合工程的管理和打包问题
查看>>
错误记录关于Model 的Not a managed type: class,无法找到Model
查看>>
关于JPA中Specification接口的问题,记录一下
查看>>
IntelliJ IDEA中GIT,已经 commit and push成功,但并未 push 到远程库的问题
查看>>
关于光盘刻录,重洗的一些知识
查看>>
default_Keyword
查看>>