Listenansicht-Adapter funktioniert nicht, getView wird nicht aufgerufen.

8

Ich denke, ich werde verrückt. Etwas so Einfaches hat einen benutzerdefinierten Adapter an eine Listview gebunden, was mir Kopfschmerzen bereitet.

Veröffentlichen Sie den Code und erklären Sie dann:

MainActivity.java

%Vor%

LstAdapter.java

%Vor%

Die ListView wird nie angezeigt. Und getView wird nie verwendet, logCat zeigt nicht "Inside Getview".

Was ist los?

    
Rafael Osuna Dominguez 20.08.2012, 13:31
quelle

4 Antworten

27

Hauptproblem ist

%Vor%

ändere es in

%Vor%

Schau dir dieses Vogella Lernprogramm für die Listenansicht & amp; List Activity , Versuchen Sie, ViewHolder im Listen-Adapter zu verwenden, es wird Ihre Ansichtsleistung erhöhen.

    
rajpara 20.08.2012, 13:35
quelle
10

Dies liegt daran, dass Sie die Standardimplementierung von getCount() method, die 0 zurückgibt, verlassen haben, sodass der Adapter denkt, dass keine Elemente in ListView angezeigt werden.

Es sollte mData.length

zurückgeben %Vor%     
Andy Res 20.08.2012 13:34
quelle
3

Sie haben getCount() und getItemId(...) nicht implementiert.

Sie können diese Methoden einfach entfernen und die Standardwerte verwenden, wenn Sie keine benutzerdefinierte Implementierung für sie benötigen.

Nimm sie für jetzt heraus und versuche es dann.

    
prolink007 20.08.2012 13:38
quelle
2

Der richtige Weg ist, super(context, textViewResourceId, values) aufzurufen - was Sie bereits tun. In diesem Fall können Sie die Funktionen getCount() und getItemId(...) vollständig entfernen. Die Klasse, von der Ihre Liste abgeleitet ist, gibt automatisch die richtigen Werte zurück.

  • Prost
Tom 13.02.2014 18:42
quelle