0

インテントを介して変数を別のアクティビティに渡し、そのアクティビティがその変数を変更すると、インテントを戻さずに元のアクティビティに反映されることを知りたいです。答えが「いいえ」の場合は、アプリケーションを使用してグローバル変数を使用し、インテントを渡してデータを取得することをお勧めします。私のプログラムでは、ラウンド 5 以上のアクティビティがあり、それらすべてがクラス オブジェクトのリストにアクセスする必要があります。上記以外の推奨事項

4

1 に答える 1

0

Applicationアプリの状態を保存し、アプリを構成するさまざまなアクティビティ間でデータを共有するための独自の拡張機能を作成します。はApplicationアプリ全体のコンテキストとして機能し、Android はアプリ全体で常に 1 つのインスタンスしか存在しないことを保証します。したがって、独自のシングルトンを定義するのと同じように機能しますが、使用Applicationすると、Android が共有データのライフサイクルを制御し、基本的にメモリ管理を行うことができます。

要約する:

  1. の独自のサブクラスを作成しますApplication
  2. マニフェストの application タグでそのクラスを指定します。

getApplication()この後、(インスタンスからActivity) およびgetApplicationContext()(任意のContextインスタンスから) へのすべての呼び出しの結果を、手順 1 で定義したサブクラスに安全にキャストできるようになります。これは、アプリケーション拡張で定義された getter/setter メソッドを使用して、データを保存/取得できることを意味します。

詳細については、こちらをお読みください

于 2012-09-06T02:50:11.573 に答える