0

我创建了一个自定义列表视图并为它创建了一个适配器。我希望能够在我的自定义列表视图中以编程方式更改不同视图的不同样式方面。我的自定义列表视图是一个相对布局,其中包含 TextViews。我尝试了以下没有运气。没有错误或任何东西。

View myView = adapter.getView(position, null, null);

myView.setBackgroundColor(Color.parseColor("#93E6CD"));       
myView.findViewById(R.id.layout).setBackgroundColor(Color.parseColor("#93E6CD"));
adapter.notifyDataSetChanged();

这是我的自定义列表视图

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="5dip"
    android:id="@+id/layout">


    <!-- Title-->
    <TextView
        android:id="@+id/primaryTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Loading..."
        android:textColor="#040404"
        android:typeface="sans"
        android:textSize="18dip"
        android:textStyle="bold"/>

    <!-- Secondary title -->
    <TextView
        android:id="@+id/secondaryTitle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/primaryTitle"
        android:textColor="#343434"
        android:textSize="12dip"
        android:layout_marginTop="1dip"
        android:text="" />

    <!-- Rightend Data -->
    <TextView
        android:id="@+id/rightData"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@id/primaryTitle"
        android:gravity="right"
        android:text=""
        android:layout_marginRight="5dip"
        android:textSize="12dip"
        android:textColor="#B53021"
        android:textStyle="bold"/>

</RelativeLayout>
4

1 回答 1

0

在您提供更多信息之前,我们将无法继续。

我怀疑您没有正确设置 ListView。您是否真的试图显示类似项目的列表,例如数据库中的行?如果是这样,我想查看 ListView 对象的定义,无论是在代码中还是在 XML 中。我也想看看适配器的定义。看起来您已经为 ListView 定义了一个 ListAdapter,但我也想知道支持 ListAdapter 的是什么。

线

myView.findViewById(R.id.layout).setBackgroundColor()

看起来很可疑。您似乎正在寻找 myView 的子视图,但我没有看到您在哪里定义了这个子视图。

通常,您将 ListView 定义为整个 UI 布局文件的一部分,在 ListView 中定义一个项目的单独项目布局,然后将数据源适配到 ListView。

于 2013-04-11T23:57:11.490 回答