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