首页
JAVA笔记
数据库笔记
混乱记忆
小站记
您现在的位置
android activity 传值
简介: android 开发中,从一个 activity 跳转到另一个 activity,或者结束一个 activity 返回到另一个 activity 中时利用 Intent、onActivityResult、startActivityForResult 进行参数传递。

场景介绍

假设 activity 类  A 、B,A 启动 B,然后 B 退出并返回到 A。 

 

一个 activity 跳转到另一个 activity 场景代码

在 A 类的按钮事件中添加代码:            //启动时添加传输数据

Intent intent = new Intent(A.this,B.class);
intent.putExtra("launch", "启动传值");
startActivityForResult(intent, 12121);

在 B 类的 onCreate 方法中添加代码:     

Bundle bundle = this.getIntent().getExtras();                   //获取数据
System.out.println("get data:" + bundle.getString("launch"));

 

activity 返回到另一个 activity场景代码

 

在 B 类的按钮事件中添加代码:

Intent intent = new Intent(A.this,C.class);
intent.putExtra("return", B.this.getClass().toString());
setResult(168,intent);           //parameter1 为返回代码开发人员可随便设计
finish();

 

重写 A 类的 onActivityResult 方法:        //返回时接受数据

@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {   
  // requestCode 和 resultCode 根据项目会产生一定的关系,自己跑一下就知道了。
  
  super.onActivityResult(requestCode, resultCode, data);

  Log.i(this.getClass().toString(), requestCode+"-----"+requestCode+"----"+data.getExtras().getString("return"));
  
 }

 

注:

请注意 AndroidManifest.xml 中 activity 的配置 android:launchMode 的值