另一个activity的两种方式
- Intent跳转:在源activity中使用Intent实例化目标activity,通过putExtra方法传递数据,然后使用startActivity方法启动目标activity。
示例代码:
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("key", value);
startActivity(intent);
在目标activity中,可以通过getIntent方法获取传递过来的数据。
示例代码:
Intent intent = getIntent();
String value = intent.getStringExtra("key");
- startActivityForResult跳转:与Intent跳转类似,但是可以在目标activity中返回数据给源activity。
在源activity中使用Intent实例化目标activity,使用startActivityForResult方法启动目标activity,然后在目标activity中通过setResult方法设置返回数据,最后在目标activity中调用finish方法关闭自身。
示例代码:
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("key", value);
startActivityForResult(intent, requestCode);
在目标activity中,可以在需要返回数据的地方使用setResult方法设置要返回的数据,然后调用finish方法关闭自身。
示例代码:
Intent intent = new Intent();
intent.putExtra("result", value);
setResult(RESULT_OK, intent);
finish();
在源activity中可以在onActivityResult方法中获取返回的数据。
示例代码:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK && requestCode == requestCode) {
String value = data.getStringExtra("result");
}
}
另一个activity的方式有很多种,以下是其中一种常用的方式:
- 在当前activity的Java代码中,使用Intent类创建一个意图对象,指定要跳转的目标activity。
// 创建意图对象,第一个参数为当前activity,第二个参数为目标activity的类
Intent intent = new Intent(this, TargetActivity.class);
// 添加一些参数到意图对象中,可以在目标activity中获取这些参数
intent.putExtra("param1", value1);
intent.putExtra("param2", value2);
// 启动目标activity
startActivity(intent);
- 在目标activity的Java代码中,重写onCreate()方法并获取从意图对象中传递过来的参数。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 获取从意图对象中传递过来的参数
String param1 = getIntent().getStringExtra("param1");
int param2 = getIntent().getIntExtra("param2", defaultValue);
// TODO: 在这里进行其他初始化和操作
}
需要注意的是,如果要传递非基本类型的对象时,必须实现Parcelable或Serializable接口。另外,如果目标activity需要返回数据给当前activity,则需要使用startActivityForResult()方法启动目标activity,并在目标activity中调用setResult()方法设置返回数据。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/115423.html