Diberdayakan oleh Blogger.

Rabu, 03 September 2014

Error saat menerapkan tema sharedPreferences di Android

by Joielechong sipayung  |  in pemrograman visual at  Rabu, September 03, 2014

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: 

  1. http://stackoverflow.com/a/5890472
  2. https://github.com/Prototik/HoloEverywhere/issues/576

0 comments:

Silahkan tinggalkan komentar anda: