Ich habe eine Liste eines POJO in einem Android-App und ich zur Zeit eines der Felder in einer Listenansicht/listitem wie so bin Anzeige:Anzeige mehr Felder aus POJO Objekt in Listview
List<NotificationItem> notifItems;
// snip, populate
ArrayAdapter adapter = new ArrayAdapter<>(this, R.layout.notification_item, notifItems);
ListView listView = (ListView) findViewById(R.id.notification_listview);
listView.setAdapter(adapter);
Und es ist mein zu verstehen, dass der Adapter die listivew oder toString des POJO verwendet, die
public String toString() {
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd hh:mm");
return _notificationTitle + " | " + dateFormatter.format(_notificationReceivedDate);
}
R.id.notificationitem ist
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/label"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dip"
android:textSize="16sp"
android:textStyle="bold"></TextView>
So weit so gut, aber was ich tun möchte, ist Elemente in die Layout-Datei notificationitem und dann aktualisieren Sie den Java-Code, um die neuen Felder zu füllen.
Wie wird das gemacht? Ich verstehe nicht wirklich, wie der Adapter den ToString-Wert in das eine Feld im Benachrichtigungselement eingibt/setzt.
Sie müssen einen benutzerdefinierten Adapter erstellen. –
benötigen Sie einige benutzerdefinierte Adapter wie: 'Klasse Adapter erweitert' [MatchableArrayAdapter] (https://gist.github.com/pskink/2dd4d17a93caf02ff696533e82f952b0)' {... 'und überschreiben Sie seine' onBind() 'Methode, extra Bonus : Überschreibe 'matches()' -Methode, wenn du eine einfache Objektfilterung möchtest –
pskink