0

アプリケーションで設定の概念 (listpreference) を使用しています。リストから特定のオプションを選択したときに何かをしたいのですが、どうすればそれが可能か教えてください。

4

3 に答える 3

2
    startDatePref = findPreference("time");

...

    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
                                         Preference preference) {
        if (preference == startDatePref) {
            // your action
        }

        return super.onPreferenceTreeClick(preferenceScreen, preference);
    }
于 2010-11-04T19:43:20.997 に答える
0

その投稿を見てください:

これらの設定をコードから読み取るには、onStart()メソッドで呼び出すことができるgetPrefs()メソッドを作成する必要があります。onCreate()ではなくonStart()メソッドで呼び出すと、設定を行ってメインアクティビティに戻ったときに、設定が読み込まれることを確認できます。

private void getPrefs() {
                // Get the xml/preferences.xml preferences
                SharedPreferences prefs = PreferenceManager
                                .getDefaultSharedPreferences(getBaseContext());
                CheckboxPreference = prefs.getBoolean("checkboxPref", true);
                ListPreference = prefs.getString("listPref", "nr1");
                editTextPreference = prefs.getString("editTextPref",
                                "Nothing has been entered");
                ringtonePreference = prefs.getString("ringtonePref",
                                "DEFAULT_RINGTONE_URI");
                secondEditTextPreference = prefs.getString("SecondEditTextPref",
                                "Nothing has been entered");
                // Get the custom preference
                SharedPreferences mySharedPreferences = getSharedPreferences(
                                "myCustomSharedPrefs", Activity.MODE_PRIVATE);
                customPref = mySharedPreferences.getString("myCusomPref", "");
        }
于 2010-07-31T09:05:47.467 に答える
0

設定アクティビティに onPreferenceChangeListener を実装してから、onCreate のキーで設定を見つけてリスナーを登録する必要があります。

于 2010-07-31T19:43:19.030 に答える