假设我有一个对象的引用,我该如何将它从一个 Activity 传递到另一个 Activity?
我不想查询 Application 对象/单例/静态变量。
这还有可能实现吗?
假设我有一个对象的引用,我该如何将它从一个 Activity 传递到另一个 Activity?
我不想查询 Application 对象/单例/静态变量。
这还有可能实现吗?
public static NewObject newObject=null;
当您调用NewActivity时,请执行以下操作。
NewActivity.newObject=item;
Intent intent=new Intent(OldActivity.this, NewActivity.class);
startActivity(intent);
您可以通过以下方式之一来实现:
这里有一个文档示例:您可以使用 parcelable
将对象包装起来,将其附加到意图中,并在接收活动中“解包”它。
public class MyParcelable implements Parcelable {
private int mData;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
public static final Parcelable.Creator<MyParcelable> CREATOR
= new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}
解决方案之一:
您可以创建一个单例类来携带所需的信息
例如:
StorageManager.getInstance().saveSomething(Object obj);
然后使用相应的getter方法检索回来
确保注意同步问题;)