2016-04-30 34 views
-1

Ich habe eine ListView und diese kundenspezifische Reihe:erhalten Textview von benutzerdefinierten Element in listvew

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TextView android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="TextView" android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:id="@+id/lblMsg"></TextView> 
    <TextView android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="TextView" android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:textColor="#00f" 
     android:id="@+id/lblNumber"></TextView> 
</LinearLayout> 

Ich möchte die TextView bekommen:

for (int i = 0; i < lvMsg.getCount(); i++) { 
    v = lvMsg.getChildAt(i); 
    TextView vs=(TextView)v.findViewById(R.id.lblMsg); 
} 

aber es gibt null zurück.

Wie kann ich das beheben?

+0

zu erhalten, wo Sie den Adapter –

+0

befüllen Sie können nicht TextView erhalten 'aus unsichtbarer Reihe. –

+0

in meinem code..adapter = new SimpleCursorAdapter (das, R.layout.row, d, neuer String [] {"body", "Adresse"}, neuer int [] {R.id.lblMsg, R.id. lblNummer}); lvMsg.setAdapter (Adapter); – elidexter

Antwort

0

Ihre Frage bezieht sich auf eine Listenansicht, Ihr Code hat keine Listenansicht. Da eine Listenansicht viele Zeilen haben kann oder Elemente die Ansicht nach ID nicht finden, funktioniert das nicht. Verwenden Sie findviewbytag. Ich nehme an, dass der XML-Teil Ihres Codes eine einzelne Zeile Ihres ListView ist, so dass Sie Viewbytag finden würde, um die einzelne Zeile ein lineares Layout in diesem Fall dann findviewbyid

Verwandte Themen