Android: Können wir laden listview mit ArrayList von Objekten ohne Verwendung von BaseAdapter
Ich habe eine ListView und es sollte gefüllt werden mit ArrayList mit Objekten.
ArrayList<BrowserClass> playListArr = new ArrayList<BrowserClass>();
und hier ist BrowserClass:
public class BrowserClass{
String musicName = null;
int musicId = 0;
BrowserClass(String Name, int Id)
{
musicName = Name;
musicId = Id;
}
public String getName()
{
return musicName;
}
public int getId()
{
return musicId;
}
}
Damit Auffüllen, ListView benutze ich folgenden code:
ArrayAdapter<BrowserClass> plAdapter = new ArrayAdapter<BrowserClass>(this, android.R.layout.simple_list_item_1, playListArr);
myListView.setAdapter(plAdapter);
Aber die listView ist mit einigen Müll Wert. Ich brauche nur die Namen(getname() in der browser-Klasse). Ich kann dies erreichen mit Custom Listview-BaseAdapter. Aber ich möchte, um es zu implementieren, ohne mit BaseAdapter.
- Ich denke,Sie brauchen, um adapter für diese. Es kann alles sein, wie BaseAdapter oder ArrayAdapter.
InformationsquelleAutor Dileep Perla | 2012-09-05
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
wie diese :
Product.java
MainActivity
Wenn Sie möchten, dass die adapter funktionieren so wie Sie ist, sollten Sie die toString () - Methode in der BrowserClass Klasse. Der adapter es verwenden, um füllen Sie die Liste anzeigen und die Standard-toString () - Methode verwendet die Speicheradresse des Objekts.
Den toString() Methode ist eine generische Methode, die es in allen Java-Objekten. Das Standardverhalten eines ArrayAdapter ist, um die Objekte anzuzeigen, die in einer Zeile der Texte. Die generische Möglichkeit zum konvertieren eines Objekts in text ist die Methode toString. Standardmäßig ist diese etwas zurückgibt, wie diese "MyClass@0x1D2EF5512" (der name der Klasse und der Lage des Objekts im Speicher).
Beim überschreiben der toString () - Methode, die Sie erzählen, java, wie Sie Ihr Objekt angezeigt werden soll als string.
Können Sie nicht verwenden
ArrayList
adapter-Konstruktor. Zuerst müssen Sie die Kopie der ArrayList-Elemente-array übergeben Sie dann das neu erstellte array-Adapter-Konstruktor.Wie Sie die Kopie der ArrayList-Elemente-Array
dann verwendet Array-adapter-Konstruktor.
Hoffe, Sie verstehen, was ich erklären möchte.
Hier ist ein Beispiel für eine einfache Liste: