我正在使用定制的列表视图,它位于Slidepanel布局中。
在这里,我试图在单击特定项时更改列表视图的每个项的颜色。它运行良好,但在这里,我需要的是,我想要保持改变的颜色显示,直到我单击列表视图中的另一个项目。
怎么做?请提出建议。
谢谢你宝贵的时间!
注意:从下面的代码中,我将list_row_selector.xml设置为自定义列表视图的背景。
list_row_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selected -->
<item
android:state_focused="true"
android:state_selected="false"
android:drawable="@drawable/focused"/>
<!-- Pressed -->
<item
android:state_selected="true"
android:state_focused="false"
android:drawable="@drawable/selected" />
</selector>
color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="focused">#ff5500</drawable>
<drawable name="selected">#FF00FF</drawable>
</resources>
发布于 2014-06-03 01:30:13
在适配器中,创建实例变量int selectedPosition = -1;
然后在getView()
方法中检查该元素的selectedPosition ==位置,将list_row_selector设置为背景,设置一个正常的背景。
此外,每当单击项时更新selectedPosition
的值,并在适配器中调用notifyDataSetChanged()
刷新列表。
https://stackoverflow.com/questions/24011512
复制