两个Activity如何传送数据的?

来源:互联网 发布:c语言之家 编辑:程序博客网 时间:2024/05/22 10:39

1、传送的方式——直接用put。

传送打包数据

public void onClick(View v) {    Intent intent=new Intent(MainActivity.this,TwoActivity.class);    intent.putExtra("传送标题1","我爱中国");    startActivity(intent);}
接收数据

//判断是否是空值if(getIntent()!=null){    //接收传送的内容    String title=getIntent().getStringExtra("传送标题1");}
2、传送的方法——利用bundle来传值

//第二种方法是利用bundle用传值,put值给bunble再传值给intentIntent intent = new Intent(MainActivity.this, TwoActivity.class);Bundle bundle=new Bundle();bundle.putString(button_title,getString(R.string.imooc));intent.putExtra(button_title,bundle);
接收数据

if(getIntent()!=null){   Bundle bundle =getIntent().getBundleExtra(MainActivity.button_title);    if(bundle!=null) {        String buttonTitle = bundle.getString(MainActivity.button_title);        btn02.setText(buttonTitle);    }}
3、还有一种比较少用到的是利用序列号来传值。

4、需要回传的方法

(1)、其中999是一个标识id

startActivityForResult(intent,999);
(2)、利用setResult来回传打包信息

public void onClick(View v) {    Intent intent=new Intent();    intent.putExtra("tatle","慕课网123");    setResult(RESULT_OK,intent);    finish();}
(3)、利用onActivityResult方法接收回传的信息

//onActivityResult收到结果  其中requestCode是传送的idresultCode是回传的IDprotected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    //数字用来判断是传到那个页面    if(requestCode==999&&resultCode==-1){        String Title=data.getStringExtra("tatle");    }}






0 0
原创粉丝点击