【问题标题】:How to change the listview's item color and keep it longer in android?如何更改列表视图的项目颜色并在 android 中保持更长时间?
【发布时间】:2014-06-03 09:24:37
【问题描述】:

我正在使用滑动面板布局中的自定义列表视图

在这里,我试图在单击特定项目时更改该列表视图的每个项目的颜色。 它工作正常,但我需要的是,我想保持改变的颜色 显示,直到我单击列表视图中的另一个项目。

如何做到这一点?请提出建议。

感谢您宝贵的时间!...

注意:在下面的代码中,我将 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>

【问题讨论】:

标签: android android-listview


【解决方案1】:

在你的适配器中,创建一个实例变量int selectedPosition = -1;

然后在getView() 方法中检查是否 selectedPosition == 该元素的位置,将 list_row_selector 设置为背景,否则,设置正常背景。

此外,每当单击项目时更新selectedPosition 的值并在适配器中调用notifyDataSetChanged() 以刷新列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 2014-07-08
    • 2017-03-13
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多