我有一个由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;
是我所关注的。我有其他的东西找到它发生变化,但我不知道如何实际识别Preference
。 Preference
位于xml.main_settings.xml
。它的关键是timerIncrement
。任何人都可以帮我这个吗?
要点:
我不知道如何定义位于XML文件中的Preference
。
答案 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);