Android 两个Activity间的传值与回传值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 两个Activity间的传值与回传值相关的知识,希望对你有一定的参考价值。
MainActivity.java
Intent intent = new Intent();
intent.putExtra("message", "传到SecondActivity的值");
intent.setClass(MainActivity.this, SecondActivity.class);
/*
* 如果希望启动另一个Activity,并且希望有返回值,则需要使用startActivityForResult这个方法,
* 第一个参数是Intent对象,第二个参数是一个requestCode值,如果有多个按钮都要启动Activity,则requestCode标志着每个按钮所启动的Activity
*/
startActivityForResult(intent, 1000);
/**
* 所有的Activity对象的返回值都是由这个方法来接收
* requestCode: 表示的是启动一个Activity时传过去的requestCode值
* resultCode:表示的是启动后的Activity回传值时的resultCode值
* data:表示的是启动后的Activity回传过来的Intent对象
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1000 && resultCode == 1001)
{
String result_value = data.getStringExtra("result");
}
}
SecondActivity.java
在onCreate方法中接收,其他方法中也能接收
String mainString = getIntent.getStringExtra("message");
// 重写返回事件
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent intent = new Intent();
intent.putExtra("result", result);
/*
* 调用setResult方法表示我将Intent对象返回给之前的那个Activity,这样就可以在onActivityResult方法中得到Intent对象,
*/
setResult(1001, intent);
return true;
}
return super.onKeyDown(keyCode, event);
}
以上是关于Android 两个Activity间的传值与回传值的主要内容,如果未能解决你的问题,请参考以下文章
Android入门第43天-Activity与Activity间的互相传值
Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。
Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。
Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。
Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。