2017-05-02 8 views
-1

Ich habe eine Listview, die grundsätzlich den gesamten Inhalt meines JSON zeigen soll. Aber wenn der Benutzer auf eine Schaltfläche klickt, sollte die Listenansicht nur nur die Elemente anzeigen, die diesen Inhalt enthalten, zum Beispiel in meiner Listenansicht sind die Diagramme. Wenn der Benutzer auf die POP-Schaltfläche klickt, sollten in der Listenansicht nur die Popsongs angezeigt werden.So drucken Sie nur einen bestimmten Inhalt in der Listenansicht

+0

Also ... was Ihre Frage ist, wo ist der Code, und was ist das Problem damit? – csmckelvey

+0

Übergeben Sie eine aktualisierte Liste an Ihren Adapter mit nur Popsongs und setzen Sie notifyDataSetChanged für Ihren Adapter. – Kunu

Antwort

0

Sie wollen grundsätzlich einen Filter implementieren (suchen Sie die filterbare Schnittstelle nach). Sie wollen nur die Elemente eine neue Liste machen, die Sie interessieren, und zeigen, dass in Ihrem Listview/recyclerview

List<YourItemType> originalList; 
void onClick(){ 
    List<YourItemType> filteredList = new ArrayList<YourItemType>(); 
    for(YourItemType item: originalList) { 
    if(item.type = desiredType) { 
      filteredList.add(item); 
    } 
    } 
    adapter.setItems(filteredList); 
    adapter.notifyDataSetChanged(); 
} 
+0

Ja, das ist es, wie kann ich das tun –

+0

Ich werde nicht den Code für Sie schreiben, aber Sie sagten, Sie möchten dies in der onClick() einer Schaltfläche tun, so eine Idee wäre Folgendes: wenn der Benutzer klickt , gehen Sie Ihre Liste durch, und wenn ein Element aus der gewünschten Kategorie stammt, fügen Sie es zu einer neuen Liste hinzu. Sie übergeben diese neue Liste dann an Ihren Adapter und ungültig. – bogdanN

+0

Ja kein Problem, ich kann den Code selbst schreiben, aber haben Sie einige nützliche Links usw., weil ich nicht weiß, wie man eine neue Liste erstellt, wie Sie sagten. –

Verwandte Themen