Android中Activity数据之间的互通举例
时间: 2023-06-17 12:06:12 浏览: 81
Android Activity之间的数据传递方法总结
在Android中,Activity之间的数据传递可以通过以下几种方式:
1. 使用Intent传递数据
```
// 在Activity1中传递数据到Activity2
Intent intent = new Intent(Activity1.this, Activity2.class);
intent.putExtra("key", value);
startActivity(intent);
// 在Activity2中获取数据
String value = getIntent().getStringExtra("key");
```
2. 使用Bundle传递数据
```
// 在Activity1中传递数据到Activity2
Intent intent = new Intent(Activity1.this, Activity2.class);
Bundle bundle = new Bundle();
bundle.putString("key", value);
intent.putExtras(bundle);
startActivity(intent);
// 在Activity2中获取数据
Bundle bundle = getIntent().getExtras();
String value = bundle.getString("key");
```
3. 使用静态变量传递数据
```
// 在Activity1中设置静态变量
public static String value;
// 在Activity1中启动Activity2
Intent intent = new Intent(Activity1.this, Activity2.class);
startActivity(intent);
// 在Activity2中获取数据
String value = Activity1.value;
```
4. 使用接口回调传递数据
```
// 在Activity1中定义接口
public interface OnDataChangeListener {
void onDataChanged(String value);
}
// 在Activity1中启动Activity2并设置接口
Intent intent = new Intent(Activity1.this, Activity2.class);
Activity2.setOnDataChangeListener(new OnDataChangeListener() {
@Override
public void onDataChanged(String value) {
// 处理数据
}
});
startActivity(intent);
// 在Activity2中通过接口回调传递数据
OnDataChangeListener listener = Activity2.getOnDataChangeListener();
if (listener != null) {
listener.onDataChanged(value);
}
```
以上几种方式都可以实现Activity之间的数据传递,具体使用哪种方式取决于实际需求和场景。
阅读全文