Android Arraylist index finden
Ich habe eine ArrayList
Objekt in meinem Fragment
.
ArrayList<MenuListItem> menuItems = new ArrayList<MenuListItem>();
menuItems.add(new MenuListItem("Newsfeed", 20));
menuItems.add(new MenuListItem("FriendsRequest", 1));
menuItems.add(new MenuListItem("Messages", 2));
private class MenuListItem {
public String label;
public int count;
public MenuListItem(String label, int count) {
this.label = label;
this.count = count;
}
}
Wie finde ich den index des Objekts, das die label-Wert "Nachrichten" in mein ArrayList
aus meiner Activity
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
müssen Sie versuchen, eine Iteration durch die Elemente der
menuItems
?etwas dieser Art:
Randbemerkung (nicht verwandt machen Sie Ihren Mitgliedern private und add-Accessoren für Sie)
Edit: gerade bemerkt, dass Sie sich für ein index, was ich habe ist, um eine
MenuListItem
was Sie tun können, ist Durchlaufen und return index, wenn Sie wollen.versuchen
Es ist ein einfacher und standard-Weg, dies zu tun.
Eclipse
Rechten Maustaste in
MenuListItem
Klasse, und wählen SieSource -> Generate hashCode() and equals()
wenn Sie fertig sind, erzeugen die Implementierungen dieser Methoden. Sie könnenArrayList.indexOf(Object)
um den index des Elements, das Sie suchen.IntelliJ oder Android Studio
Rechts-klicken Sie in Ihrem editor und klicken Sie auf
Generate
und aus dem Dialogfeld, das erscheint, wählen SiehashCode() and equals()
.Dem Collections-framework hat die Dinge einfacher für Sie bereits. Warum nicht nutzen Sie es, anstatt zu schreiben, Schleifen, Objekte zu finden? 🙂
PS: Diese können von hand geschrieben, aber das ist etwas am besten Links in der IDE. Weil zu viele Attribute macht es schwierig, es richtig zu machen die erste Zeit.