我在我的应用程序中使用首选项概念(listpreference)。 当我从列表中选择特定选项时,我想做点什么 那么请告诉我怎么可能?
答案 0 :(得分:2)
startDatePref = findPreference("time");
...
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
Preference preference) {
if (preference == startDatePref) {
// your action
}
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
答案 1 :(得分:0)
看看that post:
要从代码中读取这些首选项, 我们应该创建一个getPrefs()方法, 我们可以在onStart()中调用它 方法。当我们称之为 onStart()方法而不是 onCreate(),我们可以肯定的 我们设置它们时会加载首选项 并返回我们的主要活动,
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", "");
}
答案 2 :(得分:0)
使您的首选项活动实现onPreferenceChangeListener,然后您需要在onCreate中通过其键找到首选项并注册该侦听器。