RingtonePreference getEntry方法

Kol*_*sar 3 android get preferencescreen

我想在摘要标签的首选项屏幕中显示当前选定的值.

对于ListPreference,我使用了getEntry方法

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
Run Code Online (Sandbox Code Playgroud)

方法,我的班级是:

public class AlarmPropertiesActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener
Run Code Online (Sandbox Code Playgroud)

对于EditTextPreference,我使用了getText方法

我尝试获取RingtonePreference的默认值,但我没有找到任何get方法.

有人帮帮我吗?

BR Kolesar

Waz*_*_Be 8

这个对我有用;-)

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

        }
Run Code Online (Sandbox Code Playgroud)