0

Preferences.xmlによって、ユーザーはlistprefによって4から値を選択します。初めてAndroidがpreference()を実行した後、ユーザーがlistfrefによって別の値を再度選択した場合、preference()をどのように実行しますか?コード内のどこにpreference()を配置しますか?ありがとう!

MainActivityで、私は

@Override
    public void onCreate(Bundle savedInstanceState){ 
      super.onCreate(savedInstanceState);

      preference();

[...]私のコード:ボタン、テキストビューなど[...]

private void preferences() {

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    CheckboxPreference = prefs.getBoolean("checkboxPref", true);
    ListPreference = prefs.getString("listpref", "");
4

1 に答える 1

1

最新の設定を取得する方法や、ユーザーが設定を変更した場合に通知を受け取る方法について知りたいと思います。あなたのpreferences()メソッドは最新の設定を照会します。onCreate(...)メソッドで設定を呼び出すと、対応するアクティビティが作成されたときに最新の設定を取得できます。最初に設定を取得した後、最新の設定を取得するための2つの可能性があります。

  • 必要なときに最新の設定を取得します。最新の設定が必要になる直前に、設定method()を呼び出します。たとえば、最新の設定が必要な場合は、onUpdate(...)メソッドに配置します。
  • 設定が変更されたときに通知を受け取ります。リスナーを使用して、設定の変更をリッスンします。SharedPreferencesインターフェースは、 SharedPreferencesに実装して渡すことができるOnSharedPreferenceChangeListenerを定義します。

最初の可能性はかなり一般的な答えであることを認めなければなりません。android開発者のストレージオプションサイトには、共有設定の使用に関する詳細情報があります。

于 2012-12-30T11:04:31.273 に答える