Ich habe eine Sicht und speichere sharedPrefs damit. Wenn Sie zum ersten Mal auf die Ansicht klicken, sollte der bool-Wert wahr sein. Wenn Sie erneut darauf klicken und der Wert wahr ist, sollte er wieder falsch sein. HierOnClickListeners nach SharedPreferences setzen
ist ein Code:
if(AppController.getInstance().getPrefManager().isItClicked(id)){
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppController.getInstance().getPrefManager().delete(id);
}
});
} else {
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppController.getInstance().getPrefManager().insert(id);
}
});
}
Und hier sind die Methoden meiner Handhabung Prefs:
public void insertSingleQuotation(String id) {
editPrefs.putBoolean(id, true).apply();
editPrefs.commit();
}
public boolean isItClicked(String id) {
return sharedPrefs.getBoolean(id, false);
}
public void deleteSingleQuotation(String id){
editPrefs.remove(id);
editPrefs.apply();
editPrefs.commit();
}
Außerdem habe ich eine PagerAdapter und rufen isItLiked, wenn der Behälter isShown. Nun, das Problem ist, dass der Container das Layout und die sharedPrefs nicht aktualisiert und ich zu einer anderen Ansicht blättern und dann wieder zu dieser zurückkehren muss, so dass instanziateItem und destroyItem aufgerufen und die Ansicht aktualisiert werden.
Also wie kann ich das lösen?
den Code auf klicken, auf dem Sie den Status ändern (richtig/falsch) – Bharatesh