-2

最近、Java Eclipse でプログラミングを始めました。

BMI 計算機を作成していますが、活動に問題があります。

設定アクティビティと電卓アクティビティがあり、設定アクティビティの意図は、ラジオボタンをオンにすると、電卓アクティビティで何かが変更されることです..

例 - 設定アクティビティで単位のラジオボタンを押すと、電卓アクティビティのテキストビューが変更されます.....

私はこれを2つの方法で解決できると確信しています.ApplicationオブジェクトまたはインテントでIDを渡そうとしていますが、どちらも機能させる方法がわからないので、あなたの助けが必要です!

IDを渡すために電卓がすでに開いて作成されている必要があるのだろうか....

どんな助けでも大歓迎です!

4

1 に答える 1

0

共有設定

設定を永続的に保存したい場合は、 を使用するのが最善の方法ですSharedPreferences。使用方法の例については、Web サイトを参照してください。共有設定は、同じアプリケーションのすべてのアクティビティからアクセスできます。それらを他のアプリケーションと共有することもできます。基本的に、新しい値を設定に保存しonResume()、他のアクティビティでそれらを読み取ります。共有設定の欠点は、プリミティブと文字列 (int、long、String など) しか格納できないことです。

インテント

インテントを使用して一時データを他のアクティビティに渡したい場合は、さまざまなIntent.putExtra(). のように動作するメソッドHashMap。つまり、キーと値を指定します。他のアクティビティは、getter メソッドの 1 つを使用して Intent から値を取得できます。

アプリケーション オブジェクト

クラスの独自の実装を使用し、Applicationそこに値を格納することも可能です。ただし、通常、ほとんどのアプリケーションでは必要ありません。クラスを拡張し、ファイルのタグ属性でApplicationその名前を指定する必要があります。<application>android:nameAndroidManifest.xml

あまり信頼できない方法は、値をpublic staticアクティビティのフィールドに単純に保存し、他のアクティビティからそれらにアクセスすることです。ただし、他の方法のいずれかを優先する必要があります。

于 2013-07-03T11:52:50.047 に答える