如何识别偏好活动中的偏好

时间:2013-01-04 07:45:02

标签: java android xml android-preferences

我有一个由ListPreference调用的Intent

package com.timeofcubeeliteDYLANFERRIS.cubetimerelite;

import android.os.Bundle;

public class MainPreferenceActivity extends PreferenceActivity {

    private OnPreferenceChangeListener onPreferenceChangeListener = new
        OnPreferenceChangeListener() {
        public boolean onPreferenceChange(Preference arg0, Object arg1){
                return true;
        }
    };

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.main_settings);
        Preference p;
        p.setOnPreferenceChangeListener(onPreferenceChangeListener);
    }
}

Preference p;是我所关注的。我有其他的东西找到它发生变化,但我不知道如何实际识别PreferencePreference位于xml.main_settings.xml。它的关键是timerIncrement。任何人都可以帮我这个吗?

要点:
我不知道如何定义位于XML文件中的Preference

3 个答案:

答案 0 :(得分:0)

您只需使用findPreference(CharSequence key)即可检索Preference

答案 1 :(得分:0)

在使用Preference Activity进行扩展时,您可以直接使用findPreference(CharSequence key)方法从xml文件中获取首选项。

因此,您可以将首选项定义为

Preference p = (Preference)findPreference(keyofpreferenceitemyouhavetaken);

如果是EditTextPreference,那么它将是:

EditTextPreference p = (EditTextPreference)findPreference(keyofpreferenceitemyouhavetaken);

答案 2 :(得分:0)

使用以下两行解决您的问题。

PreferenceManager.getDefaultSharedPreferences("sPEICFY YOUR XML LOCATION HERE");
Prefs.registerOnSharedPreferenceChangeListener(this);