私は、さまざまなアクティビティ間のオブジェクトへの参照を保持する必要があります。 2つの言及は、アクティビティからアクティビティへの新しいオブジェクトを作成しているようだ。これは、親アクティビティーにフォーカスが移ると、「子」アクティビティー内のオブジェクトへの変更が持続しないため、問題です。これに対する私の解決策は、子アクティビティが呼び出して動作する親アクティビティーに静的ゲッターを作成することでした。これはこれについて間違った方法ですか?parcelable/serializeではなくstaticを使用しています - これは悪いですか?
1
A
答えて
2
アクティビティ間でオブジェクトの1つのインスタンスを共有する場合は、シングルトンクラスを作成できます。シングルトンを実装するために親クラスのアクティビティクラスを使用することで間違っているのは、single responsibility principleに違反する可能性があることだけです。
0
Application
由来のクラスのフィールドにすることで、アプリケーションのライフサイクル全体にわたってオブジェクトを永続化することができます。その後
public class MyAppication extends Application {
private Object mMyData;
public setData(Object data) {
mMyData = data;
}
public Object getData() {
return mMyData;
}
}
((MyApplication)getAppllication()).setData
またはgetData()
MyApplication
が常に存在しますので、あなたがアプリケーション内でデータを交換することができますこの方法。
また
0
あなたはシングルトンを作成する必要がありますが、これはあなたがそれに話をするたびに単一のインスタンスを持つマニフェストにMyApplcation
を追加する必要があります。 (ちょうどあなたの記述のように)。
ここで私が以前に作られたものです:あなたはコンテキストに静的な参照を持っていないのはなぜhttps://stackoverflow.com/a/6539080/413127
関連する問題
- 1. これは悪い習慣です(これは間違っていますか)。
- 2. これはdjangoクラスベースのビューの悪い使用ですか?
- 3. これはApache Camelの悪い使用例ですか?
- 4. これは悪い習慣ですか?
- 5. reinterpret_castを悪用してオブジェクトが派生クラスに変換されていない場合は、それを悪用することはできますか?
- 6. Task.Runを悪い方法で使用していますか?
- 7. staticには何が含まれていますか?static org.mockito.Mockito。*;
- 8. これはunique_ptrの悪用ですか?
- 9. -static-link-runtime-shared-librariesを使用しないのはいつですか?
- 10. これはEF CodeFirstにDbContextを使用する悪い方法ですか?
- 11. public static void main(string args [])でstaticを使用しない方法はありますか?
- 12. JQuery - fadeInではなくidを使用していますか?
- 13. なぜstaticキーワードがUITableViewCell識別子で使用されていますか?
- 14. :私はそれを悪用していますか?
- 15. XMLに格納されたオブジェクトの型なしラッパークラスを使用すると、これは悪いですか?
- 16. これは悪いRESTFulデザインと見なされますか?
- 17. MVCはどこが悪いですか?
- 18. 複合戦略パターン - java - このコードはどれくらい悪いですか?
- 19. namedtupleに__getattribute__を使用していますか?悪い習慣ですか?
- 20. 工場でUnityContainerを使用するのは悪いですか?
- 21. cms/content.phtmlはこれまで使用されていますか?
- 22. PHPループはどれくらい悪いですか
- 23. タイムアウトパターン - Thread.Abortはどれくらい悪いですか?
- 24. カスタムC#コマンドレットを使用して新しいRunSpaceを作成することは悪い習慣ですか?
- 25. Rのfor文を使用しているのは悪いスタイルですか?
- 26. はforループの代わりにmapを使用しています.JSでは悪い考えですか?
- 27. 私が使用しているオープンソースコードが悪意のあるものではないことを確認するにはどうすればよいですか?
- 28. Auto Mockingコンテナの使用は良いか悪いのですか?
- 29. なぜcx_FreezeはWin64GUIではなくWin32GUIを使用していますか?
- 30. Djangoが含まれています - 彼らは悪ですか?
が。あなたのシングルトンにアクティビティを渡し、オリエンテーションを変更すると、アクティビティは破壊されますが、あなたのコンテキストフィールドはそれを保持します。さらに、もはや有効ではない文脈を使うことができるかもしれません。 –
それは個人的な参照です。クラスは1つのグローバルコンテキストを持つシングルトンです。これが問題になる場合は、クラス内でのコンテキストの使用に依存します。 – Blundell
シングルトンへの参照は、アクティビティとともに破棄されます。次にシングルトンを尋ねるときは、コンテキストを更新する必要があります。ああ、それは100%シングルトンではありません。私はあなたの言うことを見ています。 – Blundell