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请求码...相关推荐

  1. [Android学习笔记]startActivityForResult和onActivityResult的使用

    发开过程中,免不了多个页面之间相互交互通信. Android中使用startActivityForResult方法和onActivityResult配合完成任务 startActivityForRes ...

  2. Tencent login函数登录成功后无法成功回传数据(无法返回回调方法) Android qq授权登录

    找了一下午问题在哪里,总是无法成功回传数据,后来才发现自己没有好好看Tencent的开发文档 在某些低端机上调用登录后,由于内存紧张导致APP被系统回收,登录成功后无法成功回传数据. mTencent ...

  3. android数据回传多个页面_Android-Activity之间回传数据

    一个activity中有不同按键向同一个activity跳转 MainActivity中有两个按键,都可以跳转到SecondActivity,但执行的操作不同. MainActivity代码如下,1和 ...

  4. android数据回传多个页面_Android菜鸟起飞|使用Intent实现Activity跳转的两种方式(无回传数据和有回传数据)...

    使用Intent实现Activity跳转的两种方式 1. 使用startActivity(intnet)方法实现无回传数据的Activity跳转: 使用方法: 为实现跳转动作的控件绑定监听器,在点击事 ...

  5. 【Android】startActivityForResult()与onActivityResult()与setResult()参数分析

    一.使用场景 在一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回主页面,将子activity中得到的数据显示在主界面/完成的数据交给主Ac ...

  6. Android中回传数据

    Android中提供了一个startActivityForResult()方法,来实现回传数据 接下来通过一段实例代码来显示如何使用startActivityForResult().Activity0 ...

  7. Intent 回传数据

    Intent不仅可以启动页面还可以传递数据,这里使用两个Activity之间的回传数据. 1.实验开始 MainActivity: public class MainActivity extends ...

  8. java头像选择系统_安卓Java源程序 带选择头像功能的用户注册 使用Intent回传数据...

    本帖最后由 dori 于 2020-12-18 23:12 编辑 完成带选择头像功能的用户注册应用程序开发. 图1 图2 图3 MainActivity.java文件:import androidx. ...

  9. 调用startActivityForResult,onActivityResult无响应的问题

    2019独角兽企业重金招聘Python工程师标准>>> 三种情况: 一.执行startActivityForResult,没等到被调用的 Activity 返回,onActivity ...

  10. BUG系列:转让startActivityForResult()amp;onActivityResult()没有反应

    前天遇到了一个麻烦,还真是麻烦啊. 我使用startActivityForResult()&onActivityResult().由Activity-A 跳转到Activity-B 页面,然后 ...

最新文章

  1. 浅析机器学习中的自由度
  2. 【Eclipse中使用Git之一】把远程仓库的项目,clone到eclipse里面
  3. python识别简单训练模型_Python3+OpenCV实现简单交通标志识别
  4. 基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展
  5. Boost:测试BOOST_BIND_NO_PLACEHOLDERS的程序
  6. php 账号与密码比对,Php - 将密码与root密码进行比较
  7. 网页文件都是php怎么修改,请问你们怎么将html的文件的内容改变为php
  8. MySQL substring()函数
  9. 编写干净的测试–提防魔术
  10. navicat不同数据库数据传输
  11. day28 socket网络编程
  12. 互联网日报 | 美团门票单日入园人次破500万;蔚来用户累计换电百万次;2020诺贝尔生理学或医学奖揭晓...
  13. 剑指Offer_07_斐波那契数列
  14. VSCode 花式玩法(摸鱼)收藏一下 !
  15. VBA-获取指定行列最后一个非空单元格
  16. NeRF神经辐射场学习笔记(十)— BungeeNeRF(CityNeRF)实现以及代码注释
  17. Java两个线程交替打印奇偶数(两种方法对比)
  18. 迪杰斯特拉算法(dijkstra)_朴素版_堆优化版
  19. PostgreSQL 别名
  20. 在oracle中imp是什么意思,Oracle中的Imp和Expt用法

热门文章

  1. 下面的代码能确定参数是否为奇数吗?
  2. WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)
  3. 491 Increasing Subsequences 递增子序列
  4. 鼠标显示效果的形状设置
  5. 第五章 多个消费者监听同一个队列
  6. 七年为限 一觉梦已远——我与你的新贵族
  7. html和css的编程规范,Bootstrap CSS编码规范
  8. 10_10_安卓加linux命令,Linux 新手必知必会的 10 条 Linux 基本命令
  9. Java IO源码目录
  10. 实战篇:如何用Keras建立神经网络(附全部代码) 1