2013-04-11 93 views
0

我创建一个自定义列表视图,并创造一个适配器它。我希望能够在自定义列表视图中以编程方式更改不同视图的不同样式方面。我的自定义列表视图是一个内部有TextView的RelativeLayout。我尝试了以下,但没有运气。没有错误或任何东西。机器人 - 编程修改列表视图背景颜色

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> 

回答

0

我们将无法进行,直到您提供更多信息。

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

线

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

看起来很可疑。您似乎在寻找myView的子视图,但我没有看到您定义此子视图的位置。

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

+0

我想有太多的东西要粘贴在这里。比方说,我没有使用任何自定义功能,并有一个基本列表,当一个项目被点击时,它开始一个活动的结果。我在其他活动中做了一些事情,并完成了()使我回到了列表中。我将如何使文本绿色/背景蓝色/无论在onActivityResult()方法中的列表项? – David 2013-04-12 13:14:23