So möchte ich CheckBox Zustand über SharedPreferences in RecyclerView Adapter Klasse wie folgt speichern:Saving CheckBox Zustand von RecyclerView Adapter Klasse
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (checkBox.isChecked()){
title.setPaintFlags(title.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
title.setAlpha(0.5f);
PreferenceManager.getDefaultSharedPreferences(c).edit().putBoolean("checkBox", checkBox.isChecked()).commit();
} else if (!checkBox.isChecked()){
title.setPaintFlags(0);
title.setAlpha(0.8f);
PreferenceManager.getDefaultSharedPreferences(c).edit().putBoolean("checkBox", checkBox.isChecked()).commit();
}
}
});
nicht‘Geist der Farbe Fahnen.
Und ich bin das Abrufen der Daten in meiner Tätigkeit wie folgt aus (in onCreate):
checkBox = (CheckBox) findViewById(R.id.checkBoxDoneOrNotNaListi);
boolean checked = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("checkBox", false);
checkBox.setChecked(checked);
Und immer Nullpointer
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.CheckBox.setChecked(boolean)' on a null object reference
Was habe ich falsch gemacht?
boolean checked = PreferenceManager.getDefaultSharedPreferences(context).getBoolean("checkBox", false);
holder.checkBox.setChecked(checked);
Dann wird Ihr ViewHolder
sollte in etwa so aussehen:
Stellen Sie sicher, 'checkBox = (CheckBox) findViewById (R.id.checkBoxDoneOrNotNaListi);' ist nach 'setConentView()' in 'onCreate()' – TychoTheTaco
Es ist nach dem Set Content View – DaxHR
Gut nach dem Fehler 'checkBox' ist gleich 'null'. Haben Sie die ID überprüft, um sicherzustellen, dass sie korrekt ist? – TychoTheTaco