android activity 传参

本文详细介绍了Android应用中Activity间的参数传递方法,包括向下传参(从一个Activity到另一个Activity)和向上传参(从一个Activity返回到前一个Activity)。通过具体的代码示例展示了如何使用Intent进行参数的放置与获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传参

activity传参分为向上传参和向下传参,传参都是通过intent实现

向下传参

由前一个activity传到下一个activity,比如在Activity1中打开Activity2,就是向下传参。传参时在Activity1中放入参数,在Activity2中取出参数

放参数
	Intent intent = new Intent("com.example.intenttest.showparam_action");
	intent.putExtra("name1", "value1");
	intent.addCategory("com.example.intenttest.showparam_category");
	startActivity(intent);
取参数
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.second_layout);
	String value1 = getIntent().getStringExtra("name1");
	Log.i(TAG, "接收到的值:"+value1);
}

向上传参

由后一个activity传到上一个activity,比如在Activity1中打开Activity2,关闭activity2时传递参数到Activity1就是向上传参。
具体操作:Activity1调用startActivityForResult(启动activity就是为了结果)启动Activity2,Activity2调用setResult()返回结果,Activity1在onActivityResult获取结果

Activity1启动activity为了结果
	Intent intent2 = new Intent("com.example.intenttest.showparam_action");
	intent2.addCategory("com.example.intenttest.showparam_category");
	startActivityForResult(intent2, REQUEST_CODE);
Activity2设置返回结果
	@Override
	public void onClick(View v) {
		switch(v.getId()){
			case R.id.btn4:
				Intent intent = new Intent();
				intent.putExtra("data_return", "hello mainactivity");
				setResult(RESULT_OK, intent);
				finish();
				break;
			}
	}
Activity1取得结果
@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		//super.onActivityResult(requestCode, resultCode, data);
		switch(requestCode){
			case REQUEST_CODE:
				//RESULT_OK
				if(resultCode == RESULT_OK){
					String value = data.getStringExtra("data_return");
					Log.i(TAG, "返回值:"+value);
				}
				break;
			default:
				break;
			
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值