Activity初级:startActivityForResult、重写onActivityResult、setResult回传数据、requestCode请求码...
main端:
/*** 实现:主页面点击按钮1,跳转到页面二输入内容,点击页面二按钮返回主页面并显示输入信息;* 主页面点击按钮2,跳转到页面三输入内容,点击页面三按钮返回主页面并显示输入信息.* 主要步骤:* 1) startActivityForResult(intent, 0);* 2) 回传数据时,调用setResult(0, data)方法,然后执行finish()* 3) onActivityResult(int, int, Intent data)*/
public class MainActivity extends Activity
{private static final int BTN_ONE = 1;//将常量封装定义private static final int BTN_TWO = 2;@Override//重写onActivityResultprotected void onActivityResult(int requestCode, int resultCode, Intent data){super.onActivityResult(requestCode, resultCode, data);//有参数的super必须重写TextView textView = (TextView) findViewById(R.id.textView1_main);if(requestCode == BTN_ONE)//根据请求码判断接收内容{String str = data.getStringExtra("one");textView.setText(str);}else if(requestCode == BTN_TWO){String str = data.getStringExtra("two");textView.setText(str);}}@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//监听button1,跳转到NextActivity,等待resultButton button1=(Button) findViewById(R.id.button1_main);button1.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){Intent intent = new Intent(MainActivity.this,NextActivity.class);startActivityForResult(intent, BTN_ONE);}});//监听button2,跳转到ThirdActivity,等待resultButton button2 =(Button) findViewById(R.id.button2_main);button2.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){Intent intent = new Intent(MainActivity.this,ThirdActivity.class);startActivityForResult(intent, BTN_TWO);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu){getMenuInflater().inflate(R.menu.main, menu);return true;}
}
next端:
public class NextActivity extends Activity
{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_next);Button button =(Button) findViewById(R.id.button1_next);button.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){//得到用户数据EditText editText=(EditText) findViewById(R.id.editText1_next);String strone = editText.getText().toString();//回传数据Intent data = new Intent();data.putExtra("one", strone);setResult(1, data );//关闭当前窗口finish();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu){getMenuInflater().inflate(R.menu.next, menu);return true;}
}
third端:
public class ThirdActivity extends Activity
{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_third);Button button = (Button) findViewById(R.id.button1_third);button.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){EditText editText = (EditText) findViewById(R.id.editText1_third);String strtwo = editText.getText().toString();Intent data = new Intent();data.putExtra("two", strtwo);setResult(2,data );finish();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu){getMenuInflater().inflate(R.menu.third, menu);return true;}
}
转载于:https://blog.51cto.com/glblong/1195845
Activity初级:startActivityForResult、重写onActivityResult、setResult回传数据、requestCode请求码...相关推荐
- [Android学习笔记]startActivityForResult和onActivityResult的使用
发开过程中,免不了多个页面之间相互交互通信. Android中使用startActivityForResult方法和onActivityResult配合完成任务 startActivityForRes ...
- Tencent login函数登录成功后无法成功回传数据(无法返回回调方法) Android qq授权登录
找了一下午问题在哪里,总是无法成功回传数据,后来才发现自己没有好好看Tencent的开发文档 在某些低端机上调用登录后,由于内存紧张导致APP被系统回收,登录成功后无法成功回传数据. mTencent ...
- android数据回传多个页面_Android-Activity之间回传数据
一个activity中有不同按键向同一个activity跳转 MainActivity中有两个按键,都可以跳转到SecondActivity,但执行的操作不同. MainActivity代码如下,1和 ...
- android数据回传多个页面_Android菜鸟起飞|使用Intent实现Activity跳转的两种方式(无回传数据和有回传数据)...
使用Intent实现Activity跳转的两种方式 1. 使用startActivity(intnet)方法实现无回传数据的Activity跳转: 使用方法: 为实现跳转动作的控件绑定监听器,在点击事 ...
- 【Android】startActivityForResult()与onActivityResult()与setResult()参数分析
一.使用场景 在一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回主页面,将子activity中得到的数据显示在主界面/完成的数据交给主Ac ...
- Android中回传数据
Android中提供了一个startActivityForResult()方法,来实现回传数据 接下来通过一段实例代码来显示如何使用startActivityForResult().Activity0 ...
- Intent 回传数据
Intent不仅可以启动页面还可以传递数据,这里使用两个Activity之间的回传数据. 1.实验开始 MainActivity: public class MainActivity extends ...
- java头像选择系统_安卓Java源程序 带选择头像功能的用户注册 使用Intent回传数据...
本帖最后由 dori 于 2020-12-18 23:12 编辑 完成带选择头像功能的用户注册应用程序开发. 图1 图2 图3 MainActivity.java文件:import androidx. ...
- 调用startActivityForResult,onActivityResult无响应的问题
2019独角兽企业重金招聘Python工程师标准>>> 三种情况: 一.执行startActivityForResult,没等到被调用的 Activity 返回,onActivity ...
- BUG系列:转让startActivityForResult()amp;onActivityResult()没有反应
前天遇到了一个麻烦,还真是麻烦啊. 我使用startActivityForResult()&onActivityResult().由Activity-A 跳转到Activity-B 页面,然后 ...
最新文章
- 浅析机器学习中的自由度
- 【Eclipse中使用Git之一】把远程仓库的项目,clone到eclipse里面
- python识别简单训练模型_Python3+OpenCV实现简单交通标志识别
- 基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展
- Boost:测试BOOST_BIND_NO_PLACEHOLDERS的程序
- php 账号与密码比对,Php - 将密码与root密码进行比较
- 网页文件都是php怎么修改,请问你们怎么将html的文件的内容改变为php
- MySQL substring()函数
- 编写干净的测试–提防魔术
- navicat不同数据库数据传输
- day28 socket网络编程
- 互联网日报 | 美团门票单日入园人次破500万;蔚来用户累计换电百万次;2020诺贝尔生理学或医学奖揭晓...
- 剑指Offer_07_斐波那契数列
- VSCode 花式玩法(摸鱼)收藏一下 !
- VBA-获取指定行列最后一个非空单元格
- NeRF神经辐射场学习笔记(十)— BungeeNeRF(CityNeRF)实现以及代码注释
- Java两个线程交替打印奇偶数(两种方法对比)
- 迪杰斯特拉算法(dijkstra)_朴素版_堆优化版
- PostgreSQL 别名
- 在oracle中imp是什么意思,Oracle中的Imp和Expt用法