我想让用户在我的应用上选择字体大小。我怎么能对他的选择做出反应?我怎样才能从他的选择中获得价值? 谢谢 我有这个偏好代码:
<string-array name="aaa_entries">
<item >0</item>
<item >1</item>
<item >2</item>
<item >3</item>
</string-array>
<string-array name="aaa_values">
<item >Very small text</item>
<item >Small text</item>
<item >Normal text</item>
<item >Large text</item>
</string-array>
代码:
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals("pref_sync")) {
String selectedFont=sharedPreferences.getString("pref_sync",null);
if("Very small text".equalsIgnoreCase(selectedFont)) {
Toast.makeText(getApplicationContext(),"asdasdasdasd",Toast.LENGTH_SHORT).show();
}
}
}
答案 0 :(得分:2)
向listener
添加ListPreference
,当用户从ListPreference
中选择一个项目时,将调用onPreferenceChange
并选择新值。
Preference listPreference = getPreferenceManager().findPreference("your_key");
listPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String userSelectedValue = (String) newValue;
Toast.makeText(getActivity(), “user picked a font”, Toast.LENGTH_SHORT).show();
return true;
}
});