2 qq 34001673 qq_34001673 于 2016.02.29 17:35 提问

android点击背景颜色变化问题

我现在的情况是,点击一个视图背景颜色改变,但是由于代码5秒更新一次,更新后的代码,视图的背景颜色又变回点击前了,这不是我想要的,我想是代码更新不要影响到我点击视图后的背景颜色,注:代码更新一定要存在,因为在刷新数据。请大神指教帮帮忙,麻烦说的详细点,最好有代码贴出来,谢谢了

3个回答

huaheshangxo
huaheshangxo   2016.02.29 21:13
已采纳

你可以设置一个变量View保存你点击的view,每次点击的时候将view赋值给变量,然后在刷新的时候判断这个view是否为null,如果不为null,保存的view就是你之前点击的view,重新设置颜色就行了。

huaheshangxo
huaheshangxo 回复qq_34001673: 你每5秒刷新的是listview还是什么?
接近 2 年之前 回复
qq_34001673
qq_34001673 谢谢帮忙,这个思路我知道,可是我不知道安卓中代码怎么保存这个view,我是在点击方法里设置的改变点击视图的背景颜色,我刚接触安卓,可以贴个代码例子吗?万分感谢
接近 2 年之前 回复
w89h06q22
w89h06q22   2016.02.29 18:25

你的问题描述的不是特别清楚,问题出现的代码也没给。是在listView中显示的吗?使view背景颜色改变的方式是什么?通过selector还是在代码实现?

正常来说,你应该使用了view的focused、selected等类似属性,这些属性确实会在视图刷新后重置。最简单的方式是在点击时存个变量,然后在刷新后根据此变量获得之前选中的view,再改变这个view的背景。

把描述写清楚可以再讨论。

qq_34001673
qq_34001673 谢谢,我是直接给view视图设置的setBackgroundColor改变的背景颜色,但是我想保存点击的时候的这个状态,然后在代码更新的时候判断我保存的这个信息就可以了吗?我刚接触安卓,不知道能不能保存,感觉应该可以,但是我不知道用什么方法保存,如果你理解我想要的效果了,麻烦贴个代码例子什么的,或者说的详细点,一起讨论,再次感谢!
接近 2 年之前 回复
hy976907658
hy976907658   2016.03.01 13:09

可以在adapter里面设置表示boolean flag,默认为false,在getView里面判断一下就ok了,再加一个单击事件监听,不久ok了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!