Android基础Activity篇——Intent返回数据给上一个活动
2024-10-07 04:48:17
1.如果活动B要将数据返回给活动A,那么需要以下三步:
1.1在活动A中使用startActivityForResult()方法启动活动B。
1.2在活动B中使用setResult()方法传回Itent。
1.3在活动A中重写onActivityResult()方法。
2.在活动A中使用startActivityForResult()
button1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Toast.makeText(FirstActivity.this,"你点击了按钮一",Toast.LENGTH_SHORT).show(); Intent intent=new Intent(FirstActivity.this,SecondActivity.class); startActivityForResult(intent,1);//注:第二个参数是请求码,用于之后活动A确认传回信息来源 } });
3.在活动B中使用setResult()
button1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Intent intent=new Intent();//使用无参构造创建一个Intent对象,使用无参的原因是当前不需要使用Intent来切换到另外一个活动 intent.putExtra("data_return","这是来自B活动的信息,你好A" );//使用putExtra()放入要传回的信息 setResult(RESULT_OK,intent);//第一个参数表示返回处理的结果,一般使用RESULT_OK,第二个参数是一个带传回数据的Intent finish();//销毁当前活动 } });
4.在活动A中重写onActivityResult()
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch(requestCode){ case 1://使用switch和requestCode判断信息是否来源于B if(resultCode==RESULT_OK){//判断返回结果是否成功 String returnedData=data.getStringExtra("data_return");//得到传回值,参数是之前活动B中起的名字 Log.d("FirstActivity",returnedData);//使用Log日志工具打印debug级别信息 } break; default: } }
5.如果用户通过back键返回
这里要注意的是如果用户不是通过我们设置的按钮返回活动A,而是使用BACK键,那么只需要在活动B中重写onBackPressed()方法。
@Override public void onBackPressed() { Intent intent=new Intent(); intent.putExtra("data_return","这是来自B活动的信息,你好A" ); setResult(RESULT_OK,intent); finish(); }
最新文章
- SQL基础语法(三)
- PEAR安装
- 浅谈Android中拍照、从相册选择图片并截图相关知识点
- 编辑美化图片,保存至本地,Adobe出品(支持IOS,android,web调用)免费插件
- python之购物车的编写(熬夜撸代码中。。。)
- Java SE、Java EE、Java ME
- 【代码笔记】iOS-评分系统(小星星)
- 8. js中json格式解析
- java 实例之杨辉三角
- Ubuntu下VSFTPD(四)(vsftpd其它主要设置)
- AngularJS:实现动态添加输入控件功能(转)
- hdu 5650 so easy (异或)
- Centos6.8下安装oracle_11gr2版主要过程
- 对C# 中Readonly的再认识
- AS-->;如何更高效的使用 Gradle, 快速build apk
- 20175324 《Java程序设计》第七周学习总结
- 将一个dropdownlist从一个div复制到另一个div
- cpu的核心数及线程关系
- 使用perf + FlameGraph生成进程火焰图
- VisualStudio使用技巧及快捷键
热门文章
- STL用法
- Canvas 与 Image 相互转换
- 10.Find All Anagrams in a String(在一个字符串中发现所有的目标串排列)
- (转)TestNG框架提供两种传入参数的方法:
- 百度地图 api bug 解决.......
- java Response 设置中文编码
- P3225 [HNOI2012]矿场搭建
- poj3713 Transferring Sylla 枚举+tarjan判割点
- 微信小程序填坑之旅
- 工具类_IsNull