从listvew中的自定义项获取textview

时间:2016-04-30 17:32:48

标签: android listview android-custom-view

我有一个ListView和这个自定义行:

<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>

我想获得TextView

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

但它返回null。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的问题涉及列表视图,您的代码没有列表视图。因为listview可以有很多行或项目,所以查找id不起作用。使用findviewbytag。我假设你的代码的xml部分是listview的一行,所以你会发现viewbytag在这种情况下让单行成为线性布局然后findviewbyid