0

Ich habe überall hier nachgesehen und nichts ist mit meinem Problem verbunden. Im Grunde habe ich eine Funktion implementiert, die die Leserichtung meiner App (1 oder -1) ändert. Jetzt kann ich sie anfänglich ändern, und es funktioniert wirklich gut, aber wenn ich es wieder ändere (mit dem gleichen Code, aber ändern die Richtung) es aktualisiert gerade nicht. Scheint einfach wie notifyDataSetChanged(); will nicht das zweite Mal arbeiten ...?RecyclerView löscht nicht (notifyDataSetChanged funktioniert nicht)

Mein Code ist wie wie folgt:

private void flip() { 

    if (!isFlipped) { 
     mData.getItems().removeAll(mData.getItems()); 
     mAdapter.notifyDataSetChanged(); 
     isFlipped = true; 
     loadData(false, -1); 
     closeMenu(); 
    } else { 

     mData.getItems().removeAll(mData.getItems()); 
     mAdapter.notifyDataSetChanged(); 
     isFlipped = false; 
     loadData(false, 1); 
     closeMenu(); 
    } 

} 

Was mache ich falsch?

Nochmals vielen Dank im Voraus :)

Antwort

1

Einführung eine öffentliche Methode in Ihrem RecyclerView Code, zB:

public void clearAll(){ 
    mData.clear(); 
    this.notifyDataSetChanged(); 
} 

Und ruft Sie dann diese Funktion von Ihrer Aktivität (oder Fragment):

private void Flip() {

if (!isFlipped) { 
    mAdapter.clearAll(); 
    isFlipped = true; 
    loadData(false, -1); 
    closeMenu(); 
} else { 
    mAdapter.clearAll(); 
    isFlipped = false; 
    loadData(false, 1); 
    closeMenu(); 
} 

}

+0

Das hat perfekt funktioniert, danke! – BilalMH

Verwandte Themen