Я делаю резервное копирование и восстановление параметров в моем приложении для Android.Затем вы открываете предпочтение, я хочу кнопку для резервного копирования и кнопку для восстановления.Я делаю кнопку в своем файле xml / preference.xml следующим образом:
<PreferenceCategory android:title="Backup">
<Preference
android:key="backup"
android:title="Backup"
android:summary="Make a backup of shows"
/>
<Preference
android:key="restore"
android:title="Restore"
android:summary="Restore shows from backup"
/>
</PreferenceCategory>
В своем классе предпочтений я реализую OnSharedPreferenceChangeListener и добавляю getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
к onResume()
и getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
к OnPause()
.
Я реализую onSharedPreferenceChanged:
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
// Let's do something when my counter preference value changes
if (key.equals("backup")) {
Toast.makeText(this, "Backup button pressed", Toast.LENGTH_SHORT).show();
} else if (key.equals("restore")) {
Toast.makeText(this, "Restore button pressed", Toast.LENGTH_SHORT).show();
}
}
Но тост не отображается, тогда я нажимаю одну из кнопок.Я отлично работаю на т.е. CheckBoxPreference, но мне нужна только кнопка, а не флажок.Кто-то, кто может помочь?