是的,Android Activity可以传递数据。在Android中,可以使用Intent对象在不同的Activity之间传递数据。以下是一些常见的数据传递方法:
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("key", value); // key为字符串类型,value为要传递的数据
startActivity(intent);
在SecondActivity中,可以通过以下方式获取传递的数据:
String value = getIntent().getStringExtra("key");
public class MyParcelable implements Parcelable {
private int data;
private String text;
// 构造函数、getter和setter方法省略
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(data);
dest.writeString(text);
}
public static final Creator<MyParcelable> CREATOR = new Creator<MyParcelable>() {
@Override
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
@Override
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
}
然后,在FirstActivity中,将MyParcelable对象传递给SecondActivity:
MyParcelable myParcelable = new MyParcelable();
myParcelable.setData(1);
myParcelable.setText("Hello");
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("parcelable_key", myParcelable);
startActivity(intent);
在SecondActivity中,可以通过以下方式获取传递的MyParcelable对象:
MyParcelable myParcelable = getIntent().getParcelableExtra("parcelable_key");
ArrayList<String> list = new ArrayList<>();
list.add("item1");
list.add("item2");
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("serializable_key", list);
startActivity(intent);
在SecondActivity中,可以通过以下方式获取传递的ArrayList:
ArrayList<String> list = getIntent().getSerializableExtra("serializable_key");