私はオブジェクトへの参照を持っていると言いますが、これを1つのアクティビティから別のアクティビティに渡すにはどうすればよいですか?アクティビティから別のアクティビティへの参照(直列化不可)を渡すにはどうすればよいですか?
私はアプリケーションオブジェクト/シングルトン/静的変数をクエリする必要はありません。
これはまだ可能ですか?
私はオブジェクトへの参照を持っていると言いますが、これを1つのアクティビティから別のアクティビティに渡すにはどうすればよいですか?アクティビティから別のアクティビティへの参照(直列化不可)を渡すにはどうすればよいですか?
私はアプリケーションオブジェクト/シングルトン/静的変数をクエリする必要はありません。
これはまだ可能ですか?
静的変数を別のアクティビティ、またはアプリケーションクラスのグローバル変数として宣言してから、タイプNewTypeのオブジェクトの一部をOldActivityからクラスNewActivityに解析するようなアクティビティにアクセスできます。次のようにしてください:
NewActivity.javaに静的なNewTypeのオブジェクトを宣言してください。
public static NewObject newObject=null;
do次に、あなたが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メソッドとバック取得
同期に関する問題を処理していることを確認してください。
こんにちは、私は、Activityが静的変数/アプリケーションオブジェクトに手を差し伸べることを望んでいません。 – kietdlam
オブジェクトをインテントで渡したい場合は、Bundleを使うことができますが、バンドルに値を入れるにはパーセル化可能なオブジェクトでなければなりませんし、他の方法でデバイスを渡してオブジェクトを渡す必要がありますAndroid ActivityManager自体がアクティビティのコンストラクタを呼び出すため、コンストラクタでパラメータを渡すことはできません。私は他の方法はないと思う。 – jeet
これは私が探していた答えではありませんでしたが、私が探していた振る舞いをサポートしていないフレームワークのためです。ありがとうございました! – kietdlam