Ich möchte eine Liste von Elementen mit RecyclerView erstellen und möchten bestimmte Elemente erweitern, wenn Sie darauf klicken (wie in der Anrufliste). Ich möchte das erreichen, ohne eine Bibliothek zu benutzen. Kann jemand helfen ?Wie Recyclerview zu erstellen Erweiterbar ohne Verwendung von Drittanbieterbibliotheken
Antwort
Ruft die Kinddatenliste als Mitglied der übergeordneten Daten im Dataset ab. Und bei Click-Ereignis von RecyclerView Reihe, sie wie folgt verwenden .. hier mdataSet
Haupt-Datensatz ist für RecyclerView
final TitleHolder holder = (TitleHolder) h;
final Model model = (Model) mdataSet.get(position);
holder.txt_title.setText(model.getTitle());
holder.childItem = model;
holder.txt_title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (model.getChildList() == null) {
//collapse
((Model) mdataSet.get(mdataSet.indexOf(holder.childItem))).isExpanded = false;
holder.arrow.startAnimation(AnimationUtils.loadAnimation(context, R.anim.arrow_reverse));
model.childList = new ArrayList<ModelData>();
int count = 0;
int pos = mdataSet.indexOf(holder.childItem);
while (mdataSet.size() > pos + 1 && mdataSet.get(pos + 1).type == Model.VIEW_CHILD) {
model.childList.add((ModelData) mdataSet.remove(pos + 1));
count++;
}
notifyItemRangeRemoved(pos + 1, count);
} else {
//expand
((Model) mdataSet.get(mdataSet.indexOf(holder.childItem))).isExpanded = true;
holder.arrow.startAnimation(AnimationUtils.loadAnimation(context, R.anim.arrow));
int pos = mdataSet.indexOf(holder.childItem);
int index = pos + 1;
for (ModelData i : model.getChildList()) {
mdataSet.add(index, i);
index++;
}
notifyItemRangeInserted(pos + 1, index - pos - 1);
model.childList = null;
}
}
});
if (((Model) mdataSet.get(mdataSet.indexOf(holder.childItem))).isExpanded) {
holder.arrow.startAnimation(AnimationUtils.loadAnimation(context, R.anim.arrow));
}
Hier werde ich Kind Daten zur Daten-Set bei Click-Ereignis auf txt_title
wieder hinzufügen, verwenden Title(parent)
und data(child)
als zwei verschiedene ViewTypes wie diese
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == VIEW_TITLE) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_expand_title, parent, false);
return new TitleHolder(itemView);
} else {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.row_wallet_history, parent, false);
return new DataHolder(itemView);
}
}
OR
Wenn Ihr Kind Ansicht fix ist (die Sie erweitern möchten/Kollaps) sie dann innerhalb Layout wickeln und dieses Layout sichtbar machen/Gone with Animation, um Einsturz Effekt zu erzielen erweitern Refere this link ihnen
zu machen animierteja. Dies ist eine andere Möglichkeit, dies zu erreichen. Danke @AbhishekSingh für die Fusion meiner ans. Ich habe meinen anderen Beitrag gelöscht –
das wird hilfreich für andere, die gleiche Frage suchen –
- 1. Kann ich Webdienste ohne Verwendung von Drittanbieterbibliotheken erstellen?
- 2. RecyclerView erweiterbar cardView
- 3. Android Erweiterbar RecyclerView verschiedene Kartenhöhe
- 4. erweiterbar RecyclerView und benutzerdefinierte ui
- 5. erweiterbar Layout mit recyclerview android
- 6. So erstellen Sie CardViews in Recyclerview Erweiterbar/zusammenklappbar
- 7. Erstellen eines Spiels ohne Verwendung von SpriteKit
- 8. Verwendung von Scrollbar in RecyclerView
- 9. SQL-Tabelle erstellen, ohne Verwendung von Fremdschlüssel
- 10. Verwendung von Eclipse CDT ohne ein Projekt zu erstellen
- 11. Verwendung von json_populate_recordset ohne Erstellen einer Tabelle?
- 12. Liste der Drittanbieterbibliotheken zur Verwendung der Flex-Entwicklung
- 13. Erweiterbar div wie Funktionalität
- 14. Verlinken von Drittanbieterbibliotheken in VS 2015
- 15. Android: Deaktivieren der Protokollausgabe von Drittanbieterbibliotheken
- 16. Erstellen von Kartenansichten mit Recyclerview
- 17. Hinzufügen von Drittanbieterbibliotheken zu Sonatype Nexus-Repository OSS
- 18. Wie ohne Verwendung von Methodenparameter
- 19. Erstellen von Microstrategy-Messwerten ohne Verwendung von GUI
- 20. Erstellen von Spring Rest Services ohne Verwendung von Spring Boot
- 21. erweiterbar JTextArea
- 22. Erstellen von * .mat-Datei aus Python ohne Verwendung von Wörterbuch
- 23. Text zu Morse ohne Verwendung von Wörterbuch
- 24. Wie auf Recyclerview in Android wischen, ohne zu entlassen
- 25. Erweiterbar ListView/Checkbox Woes
- 26. Erstellen Sie PDF von RecyclerView vollständigen Inhalt?
- 27. Android erweiterbar GridView wie Google Bilder
- 28. Verwenden von Drittanbieterbibliotheken in Eclipse RCP Tycho App
- 29. Erstellen eines MasterMind-Spiels ohne Verwendung von Arrays in C#?
- 30. Erstellen von Sektionen in einem RecyclerView
Mit unserer Bibliothek können Sie es nicht tun, da Android bietet erweiterbare Recycler anzeigen .. hier ist ein gutes Tutorial für erweiterbare Recycler anzeigen https://www.bignerdranch.com/blog/expand-a-recyclerview-in-four-steps/ –
@AbhishekSingh kannst du das ohne externe Bibliothek machen. siehe meine ans –
@MilindMevada danke ich werde das versuchen. –