首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更改列表视图的项目颜色并使其在android中保持更长的时间?

如何更改列表视图的项目颜色并使其在android中保持更长的时间?
EN

Stack Overflow用户
提问于 2014-06-03 09:24:37
回答 1查看 88关注 0票数 0

我正在使用定制的列表视图,它位于Slidepanel布局中。

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

怎么做?请提出建议。

谢谢你宝贵的时间!

注意:从下面的代码中,我将list_row_selector.xml设置为自定义列表视图的背景。

list_row_selector.xml

代码语言:javascript
运行
复制
<?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

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<resources>

<drawable name="focused">#ff5500</drawable>
<drawable name="selected">#FF00FF</drawable>
</resources>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-03 09:30:13

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

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24011512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档