如何改变listview item项中字体颜色!急!求Demo
listview每一项是一行文字,点击一项进入下级界面,让这一项文字颜色改变,然后返回,还让刚才点击的那一行文字颜色处于改变状态;然后再点击另外一项,再点返回,这时候让刚...
listview每一项是一行文字,点击一项进入下级界面,让这一项文字颜色改变,然后返回,还让刚才点击的那一行文字颜色处于改变状态;然后再点击另外一项,再点返回,这时候让刚点击的那行文字颜色变化,第一次点击的那行颜色恢复默认,这个怎么弄啊。给个思路!或给个demo!急!(我现在是点击一行再返回,颜色是变了,但是点击另外一行,在返回的话,会有两行颜色都变了,就是点几行几行变,现在只要最新点击的一行改变颜色)。在线等大神解答!!!(还有问一下:listview点击一行进入下一级页面,然后再点返回的话,这时候走不走getview方法?我试过了,是不走getview方法的。但是gridview返回就会重新走getview方法。不知道为什么。要是listview进入item页面再点返回时走getview方法的话,这个问题也就搞定了)
展开
2个回答
展开全部
我说下思路吧不清楚你每一个item放的数据是不是封装好的一个对象,如果是,那么就在这个对象的类中添加一个变量,用于标识是否被点击的。如果没有,那么你就写一个数组,来一一对应item。好了,有了上面数据的支撑就好办事了。1,首先,你得给你的adapter方法写一个public 方法,这个方法用来修改标识点击变量的。由于你的点击是互斥的,比较笨的方法是遍历你的展示数据,首先将点击状态修改为未点击状态。然后再将点击的项目设置为点击状态。我能想到的是呢 在adapter中设置一个成员变量,用于保存上一次点击的项目的position,就不用再去遍历了。2.在getview中,凡是标识点击的变量是被点击的状态 那么就改变字体颜色。否则变为常规颜色。这里要说一个容易疏忽的地方:变量处于没有点击的状态,你也要去设置字体的颜色,为什么呢,这里很有可能就是上一次点击的item,需要把颜色修正过来3,在onItemClick里面调用上面的方法,记住要把position带过去哦。完成!哦也! 至于你用selector不起作用,这个我不是很清楚,有可能是你的selector不起作用,或者item得不到焦点,然后selector都不会被触发 或者根本就不能用我没这么用过。还有跳转的时候,会不会调用getview 这个我也不知道 没有去试过呢,我猜测不会,前提是你没有finish列表界面,否则重新加载 必须要走这个方法的呀 查看原帖>>
2018-07-29 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
说下思路吧不清楚你每一个item放的数据是不是封装好的一个对象,如果是,那么就在这个对象的类中添加一个变量,用于标识是否被点击的。如果没有,那么你就写一个数组,来一一对应item。好了,有了上面数据的支撑就好办事了。1,首先,你得给你的adapter方法写一个public 方法,这个方法用来修改标识点击变量的。由于你的点击是互斥的,比较笨的方法是遍历你的展示数据,首先将点击状态修改为未点击状态。然后再将点击的项目设置为点击状态。我能想到的是呢 在adapter中设置一个成员变量,用于保存上一次点击的项目的position,就不用再去遍历了。2.在getview中,凡是标识点击的变量是被点击的状态 那么就改变字体颜色。否则变为常规颜色。这里要说一个容易疏忽的地方:变量处于没有点击的状态,你也要去设置字体的颜色,为什么呢,这里很有可能就是上一次点击的item,需要把颜色修正过来3,在onItemClick里面调用上面的方法,记住要把position带过去哦。完成!哦也! 至于你用selector不起作用,这个我不是很清楚,有可能是你的selector不起作用,或者item得不到焦点,然后selector都不会被触发 或者根本就不能用没这么用过。还有跳转的时候,会不会调用getview 这个我也不知道 没有去试过呢,我猜测不会,前提是你没有finish列表界面,否则重新加载 必须要走这个方法的呀 查看原帖>>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询