一、在启动一个新的activity的时候可以通过Intent携带数据,通过Intent.putExtra()方法通过键值对的形势装入数据。在新启动的activity中通过               getIntent()方法获取启动activity的Intent,并通过getxxxxExtra()获取传递的数据。

二、如果希望被启动的新activity返回数据,则需要使用startActivityForResult()启动新的activity,方法携带两个参数,第二个为请求码,用于返回时判断是由哪个activity返回的,另一个是Intent.需要重写onActivityResult(int requestCode,int resultCode,Intent data)方法获取返回的数据。在新的activity中通过setResult()方法设置要回传的数据,该方法接收2个参数,第一个为返回码,只能是RESULT_OK和RESULT_CANCELED这两个值,第二个参数是一个携带数据的Intent,

  调用finish()方法可结束当前activity。

  示例代码如下:

  

public class MainActivity extends Activity {
Button btn1;
TextView text1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text1 = (TextView) findViewById(R.id.text1);
btn1 = (Button) findViewById(R.id.button1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String str1 = new String("我爱麦麦妈妈");
Intent intent =new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("dataSend",str1);
startActivityForResult(intent,1);
// startActivity(intent);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == 1){
text1.setText(data.getStringExtra("backString"));
}
}
}
public class SecondActivity extends Activity {
TextView text2;
Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity);
Intent intent1 = getIntent();
String getString = intent1.getStringExtra("dataSend");
text2 = (TextView) findViewById(R.id.text2);
text2.setText(getString);
btn2 = (Button) findViewById(R.id.button2);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intentTemp = new Intent();
intentTemp.putExtra("backString","北极熊爱企鹅");
setResult(1,intentTemp);
finish();
}
});
}
}

最新文章

  1. DB监控-mysql监控
  2. 实现标记datagridview标题并导出Excel的功能
  3. jquery 删除数组元素
  4. asp.net和脚本获取当前的URL、IP地址
  5. java -d64
  6. Beanstalkd介绍
  7. 自定义xcode文件模板
  8. TreeSet与HashSet的区别
  9. React使用笔记1-React的JSX和Style
  10. ORA-12545: Connect failed because target host or object does not exist
  11. having在Oracle和mysql小点不同
  12. python变量定义和定义规范
  13. 算法与数据结构(十一) 平衡二叉树(AVL树)(Swift版)
  14. 47.Linux-DEVICE_ATTR()介绍及使用示例
  15. day10 前向引用
  16. html里面,没有内容,要高度占满页面
  17. 《Linux内核分析》第五周学习总结 扒开系统调用的三层皮(下)
  18. VS编译 x64版本zlib库
  19. SqlExcel使用文档及源码
  20. Spring Cloud 入门 之 Hystrix 篇(四)

热门文章

  1. yum mysql on centos 7
  2. ie兼容整理
  3. MUI 框架微信支付
  4. SQL高级查询——50句查询(含答案)
  5. Storm系列之一——Storm Topology并发
  6. jQuery Validation remote的缓存请求
  7. Struts2框架的运行流程
  8. CAShapeLayer 与贝塞尔曲线
  9. SqlSever基础 right函数 从右边开始,截取字符串
  10. HTML5媒体