I want to display current selected value in my preferences screen in summary label.
For ListPreference, I used getEntry method in
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
method, my class is:
public class AlarmPropertiesActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener
For EditTextPreference, I used getText method
I try get default value for RingtonePreference, but I have not found any get method for that.
Anybody help me?
BR Kolesar
This one works for me ;-)
if (pref instanceof RingtonePreference) {
Log.i("***", "RingtonePreference " + pref.getKey());
final RingtonePreference ringPref = (RingtonePreference) pref;
ringPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference,
Object newValue) {
Log.i("***", "Changed " + newValue.toString());
Ringtone ringtone = RingtoneManager.getRingtone(
SettingsActivity.this, Uri.parse((String) newValue));
ringPref.setSummary(ringtone.getTitle(SettingsActivity.this));
return true;
}
});
String ringtonePath=pref.getSharedPreferences().getString(pref.getKey(), "defValue");
Ringtone ringtone = RingtoneManager.getRingtone(
SettingsActivity.this, Uri.parse((String) ringtonePath));
ringPref.setSummary(ringtone.getTitle(SettingsActivity.this));
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With