Java 如何在偏好活动中识别偏好

Java 如何在偏好活动中识别偏好,java,android,xml,android-preferences,Java,Android,Xml,Android Preferences,我有一个列表首选项,它由意图调用: package com.timeofcubeeliteDYLANFERRIS.cubetimerelite; import android.os.Bundle; public class MainPreferenceActivity extends PreferenceActivity { private OnPreferenceChangeListener onPreferenceChangeListener = new OnP

我有一个
列表首选项
,它由
意图调用

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);
    }
}
偏好p是我所关心的。当它改变时,我还有其他的东西可以找到,但我不知道如何真正识别
首选项。首选项
位于
xml.main\u settings.xml
中。它的键是
timerIncrement
。有人能帮我吗

总结:

我不知道如何定义位于XML文件中的
首选项

您只需使用
FindReference(CharSequence键)
检索
首选项

就可以直接使用
FindReference(CharSequence键)
方法从xml文件中获取首选项

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

Preference p = (Preference)findPreference(keyofpreferenceitemyouhavetaken);
如果它是EditTextPreference,那么它将是:

EditTextPreference p = (EditTextPreference)findPreference(keyofpreferenceitemyouhavetaken);

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

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