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);