设置所选列表视图行的背景

时间:2013-10-23 09:20:25

标签: android listview background

我有一个列表视图,其中填充了位置,当您单击某个位置时,这会在此位置内完成作业。完成所有作业后,您现在单击“确定”按钮此时我希望列表视图背景颜色中的所选位置行发生更改。 我到目前为止按钮

 mOkBtn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            View listView = getActivity().findViewById(R.id.area_list);  
            listView.setBackgroundColor(Color.GREEN);
            mArea.checkResult = CheckResult.OK;
            mArea.checkTimeStamp = System.currentTimeMillis()/1000L;
            showResults();
        }
    });

目前这会将整个listview更改为绿色,但我不知道如何让它更改所选行。

thx

2 个答案:

答案 0 :(得分:0)

您可以按如下方式设置listview的背景颜色,

 ListView listview=new ListView(this);
 listview.setBackgroundColor(Color.WHITE);

如果列表视图在滚动列表视图时显示为黑色,则将某些代码添加到xml中

android:cacheColorHint="#00000000"
 android:scrollbarFadeDuration="0"

我认为这对你有帮助。

<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:background="@drawable/plainbg">


 <ListView 
 android:id="@+id/foodlistview"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:cacheColorHint="#00000000"
 android:scrollbarFadeDuration="0"
 android:divider="@android:color/white"
 android:dividerHeight="2px"
 ></ListView></RelativeLayout>

答案 1 :(得分:0)

要设置颜色,您需要一个选择器。您可以使用android:listSelector属性将您的列表设置为:

 <ListView 
 android:id="@+id/foodlistview"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:cacheColorHint="#00000000"
 android:scrollbarFadeDuration="0"
 android:divider="@android:color/white"
 android:dividerHeight="2px"
 android:listSelector="list_selector"
 ></ListView>

和list_selector.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_enabled="false" android:state_focused="true"
        android:drawable="@drawable/item_disabled" />
  <item android:state_pressed="true"
        android:drawable="@drawable/item_pressed" />
  <item android:state_focused="true"
        android:drawable="@drawable/item_focused" />
</selector>