android中怎么传参数,【Android】开发入门:Android如何进行值传递和回传值

这一篇应该算初级知识,activity如何进行值传递和回传值这应该是最基本的了,从一个activity到另一个activity需要用到intent这个类是大家都知道的,而后activity传值是

开发

中必不可少的基础知识。

一、activity值传递

用过intent的put方法(putExtra)将值从一个activity传到另一个activity中,另一个activity就可以通过get方法获取值。

就这么简单,另外会提到一个Bundle类,它通过键值对封装数据只用,这里可以把一些数据通过Bundle用put方法封装进去,再到另一个activity中get方法获取。具体参考代码如下:

/*

* www.tongleer.com

* FirstActivty

*/

button=(Button)findViewById(R.id.nextButton);

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent=new Intent(FirstActivty.this,NextActivity.class);

intent.putExtra("name", "张三");

Bundle bundle=new Bundle();

bundle.putInt("age", 24);

intent.putExtra("bundle", bundle);

startActivity(intent);

}

});

/* www.tongleer.com

* NextActivity

*/

Intent intent=getIntent();

String name=intent.getStringExtra("name");

Bundle bundle=intent.getBundleExtra("bundle");

if(bundle!=null&&name!=null){

int age=bundle.getInt("age");

Log.i(TAG, "--name->"+name);

Log.i(TAG, "--age->"+age);

}

二、activity回传值

activity回传值跟activity值传递的思想一样,只是用到的startActivityForResult和onActivityResult方法,前者主要用于将值以参数形式从第一个activity传到另一个activity传递过去;后者主要用于第一个activity接收第二个activity返回的值,其中用到setResult方法,在intent回第一个activity时把最终结果以参数形式返回到第一个activity中,然后第一个activity再接收返回值。

其中只有在发送请求编码requestCode和返回值编码resultCode相等的时候才能确定对方的关系,才能进行值传递和回传值。具体参考代码如下:

/* www.tongleer.com

* FirstActivity

*/

editText1=(EditText)findViewById(R.id.editText1);

editText2=(EditText)findViewById(R.id.editText2);

editText3=(EditText)findViewById(R.id.editText3);

go=(Button)findViewById(R.id.go);

go.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent=new Intent(FirstActivity.this,NextActivity.class);

String et1=editText1.getText().toString().trim();

String et2=editText2.getText().toString().trim();

intent.putExtra("message",et1+"+"+et2+"="+"?");

startActivityForResult(intent, 1);

}

});

/* www.tongleer.com

* NextActivty

*/

one=(TextView)findViewById(R.id.one);

Intent intent2=getIntent();

String message=intent2.getStringExtra("message");

one.setText(message);

value=(Button)findViewById(R.id.value);

result=(EditText)findViewById(R.id.result);

value.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String res=result.getText().toString().trim();

Intent intent=new Intent();

intent.putExtra("result", res);

setResult(2,intent);

finish();

}

});

/* www.tongleer.com

* onActivityResult方法用于返回子窗口返回的所有结果

* FirstActivity

*/

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if(requestCode==1&&resultCode==2){

String result=data.getStringExtra("result");

editText3.setText(result);

}

}

到这里,就是你就可以掌握activity如何进行值传递和回传值了,这么一看是不是很简单,只要把思路理清,就可以结合实际开发情况,运用到项目中去了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对你的问题,我可以为你提供以下的解答。 在 Android ,我们可以通过 Intent 对象来实现 Activity 之间的跳转。下面是一个简单的示例代码,演示了如何从一个 Activity 跳转到另一个 Activity,并且在跳转后传递一些参: ``` // 在第一个 Activity ,设置跳转 Intent 并传递参 Intent intent = new Intent(FirstActivity.this, SecondActivity.class); intent.putExtra("paramName", paramValue); startActivityForResult(intent, requestCode); // 在第二个 Activity ,获取传递过来的参并返结果 Intent resultIntent = new Intent(); resultIntent.putExtra("resultName", resultValue); setResult(Activity.RESULT_OK, resultIntent); finish(); ``` 以上代码,我们通过 `Intent.putExtra()` 方法在第一个 Activity 传递了一个参,并且通过 `startActivityForResult()` 方法启动了第二个 Activity。在第二个 Activity ,我们可以通过 `getIntent()` 方法获取传递过来的参,并且在处理完业务逻辑之后,通过 `setResult()` 方法设置返结果,然后调用 `finish()` 方法关闭当前 Activity 并返结果。 需要注意的是,我们在启动第二个 Activity 的时候使用了 `startActivityForResult()` 方法而不是 `startActivity()` 方法,这是因为我们需要在第二个 Activity 结果给第一个 Activity。在第一个 Activity ,我们需要重写 `onActivityResult()` 方法来接收第二个 Activity 返的结果: ``` @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == requestCode && resultCode == RESULT_OK) { String result = data.getStringExtra("resultName"); // 处理返结果 } } ``` 以上就是 Android Activity 之间跳转并且传递参的基本方法。希望能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值