android activity 相互传值
1,传一个值的情况:
Main.activity
Pass value:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("Main", "123");
startActivityForResult(intent, 0);
Get valuefrom other activity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK)
{
Log.d("debug", "result=" + data.getStringExtra("second"));
}
super.onActivityResult(requestCode, resultCode, data);
}
Get value:
Intent intent = getIntent();
final String num = intent.getStringExtra("Main");
Intent intent = new Intent();
intent.putExtra("second", "This is Second Activity's value!");
setResult(RESULT_OK, intent);
finish();
如果传多个值的情况使用 Bundle
Pass value:
Home Activity:
Bundle bundle = new Bundle();
*字符、字符串、布尔、字节数组、浮点数等等,都可以传*/
bundle.putString("Name", "feng88724");
bundle.putBoolean("Ismale", true);
/*把bundle对象assign给Intent*/
intent.putExtras(bundle);
Get value:
Away Activity:
/*获取Intent中的Bundle对象*/
Bundle bundle = this.getIntent().getExtras();
*获取Bundle中的数据,注意类型和key*/
String name = bundle.getString("Name");
boolean ismale = bundle.getBoolean("Ismale");
更多相关文章
- android 5.0之后利用Intent传递Serializable对象存在问题
- android获取手机流量使用情况
- android bundle 对象 序列化
- Android版本和兼容情况
- 用kotlin打印出漂亮的android日志(三)——基于责任链模式打印任
- Android 设备管理器和有权查看使用情况的应用详解
- 关于android中Email未设置账户的情况下发送mailto异常