Ada sebuah kendala saat mencoba membuat setting tema untuk aplikasi Android milik saya. Saat tema diterapkan (Gambar 1) melalui sebuah Fragment dengan
(implements SharedPreferences.OnSharedPreferenceChangeListener) untuk kedua kalinya, maka aplikasi akan force close dan mengeluarkan pesan error berupa java.lang.NullPointerException. Saat penerapan tema, aplikasi akan dimatikan dan dijalankan kembali.
Gambar 1. Setting tema |
Masalah ini dapat diatasi dengan menambahkan baris kode berikut di fragment:
private SharedPreferences sharedPreferences;
@Override
public void onResume() {
super.onResume();
// Set up a listener whenever a key changes
sharedPreferences.registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onPause() {
super.onPause();
// Unregister the listener whenever a key changes
sharedPreferences.unregisterOnSharedPreferenceChangeListener(this);
}
Jangan lupa untuk menambahkan baris kode berikut yang berfungsi untuk menginisialisasi variabel sharedPreferences di OnCreate():
PreferenceManager preferenceManager = getPreferenceManager();
sharedPreferences = preferenceManager.getSharedPreferences();
sharedPreferences.registerOnSharedPreferenceChangeListener(this);
Happy Programming... :D ;)
referensi:
0 comments:
Silahkan tinggalkan komentar anda: