安卓(android)之间的传值

情况1:显示启动

Intent i = newIntent();

i.setClass(this,Second.class);

//Intent i = newIntent(this,Second.class);

startActivity(i);

情况2:隐式启动

Intent i = new Intent();

i.setAction(“Ra”);

startActivity(i);

二.启动Activity,需要第二个Activity返回值

第一个Activity中代码
Intent i = new Intent(this,Second.class);
startActivityForResult(requestCode,i);

onActivityResult(requestCode,resultCode,intent){
    //requestCode标志是哪一个Activity返回来的结果
    //resultCode,标志第二个Activity操作是否成功
    //intent,携带第二个Activity返回值
}

  第二个Activity中代码
Intent i = new Intent();
setResult(resultCode,i);
finish();

三、两个Activity传值

第一个activity代码
传值方式一
i.putExtra("key1",value1);
方式二
Bundle b = new Bundle();
b.putString("key2",value2);
i.putExtra("bunclekey",b);
方式三
i,putExtra("key",Parcelable(serilizable)子类对象);


在第二个Activity中获取第一个Activity中传过来的值

Intent i = getIntent();
方式一取值
String value1 = i.getStringExtra("key1");
方式二取值
Bundle b = i.getBundleExtra("bunclekey");
String value2 = b.getStringExtra("key2");

方式三取值:
Parcelable子类 对象 = i.getPacelableExtra("key");
Serilizable子类 对象 =  i.getSerilizableExtra("key");

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容