我在android工作。
我有一份地方清单。每当我点击此列表中的某个地点时,我都希望这样。然后,所选行的颜色应该在短时间内更改为蓝色,以便点击它。
这是我尝试的代码: -
mListView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long duration)
{
view.setBackgroundResource(R.drawable.fsq_custom_background);
}
}
这是 fsq_custom_background.xml ,它存储在drawable文件夹中: -
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/the_background_color" />
</selector>
这是 the_background_color.xml : -
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FF1212" />
</shape>
但所选行的颜色仍未更改。请帮我解决我做错了什么。 非常感谢你。
答案 0 :(得分:1)
首先从onItemClick中删除更改bg颜色的代码。 这样可以执行更有价值的操作,而不仅仅是更改列表行的颜色。
您可以在xml文件中提供listView对象的位置:
&LT;的ListView
机器人:listSelector = “”
..... /&gt;
或
您可以将其作为xml中列表行布局的背景。