2

データモデルクラスに特定のデータがあり、このデータ/オブジェクトを他のアクティビティと共有したいと思います。シングルインスタンスは良い選択かもしれませんが、私の前のアクティビティを終了したいので、nullポインタを取得します。それを行うための最良の方法を提案してください。

4

2 に答える 2

1

ベストプラクティスは、そのためにインテントオブジェクトを使用し、小包またはシリアル化されたデータをエクストラに配置することです。

アプリケーションが強制終了されて復元される場合に備えて常に準備する必要があるため、静的は危険です。

于 2013-02-10T06:29:31.713 に答える
1

シリアル化を使用するための最良の方法です。アクティビティを終了する必要があるため、SingleInstanceはここでは機能しません。

Intent intent = new Intent(this, B.class);
ArrayList<String> data = new ArrayList<String>();
arrays.add("testing");
intent.putExtra("arrayList", data);
startActivity(intent);

文字列の代わりにオブジェクトを使用でき、これを使用して取得できる反対側。

ArrayList<String> arrayList =(ArrayList<String>) getIntent().getSerializableExtra("arrayList");
于 2013-02-10T06:39:42.757 に答える