2 buaawuqiong280111 buaawuqiong280111 于 2016.03.30 22:56 提问

android listview相关问题,哪位高手请赐教,小弟初学在此谢过了

本人初学Android,求高手赐教,不管是否解决,先谢过了!
我利用自动自BaseAdapter实现了一个ListView,很简单,
就是有很多Item,本人想实现这样的功能:即只要手指触碰、滑动或者点击到其中某一个item,该item中显示的字体立即变为红色(默认为蓝色),注意,是立即,不是 手指点击离开后才改变然后当手指离开该item时,该item回复蓝色字体。
我现在的困扰有几点:手指点击某一item后字体不会立即变红,当手指抬起后才变化;另外,即使手指点击某一item时变为红色,一旦滑动了就会变回为蓝色,总之就是实现上述所说不管是触摸、滑动、点击立即变红,只有当手指抬起离开该item时才恢复蓝色。不知道我是否说明了,求高手赐教,我是自学的很迷茫,先谢谢了。
先说说我原来的思路: 我对该listview进行了setOnItemClickListener监听,当点击某一item时 ,记录下点击位置,然后通知adapter改变;然后在自定义adpater的getView()函数中判断,如果是点击位置,设置该item为红色字体,否则其他item为 蓝色字体。
主控制类的主要代码如下:
myadapter= new MyAdapter(this);
listview.setAdapter(myadapter);
listview.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
myadapter.selectItem=position;
myadapter.notifyDataSetChanged();
}
});

            自定义MyAdapter的getView()中部分代码如下: 
    if( position == selectItem)
    {
        holder.sets.setTextColor(0xffff0000);
    }else{
        holder.sets.setTextColor(0xff0000ff);
    }
  其中sets就是item中需要变色的TextView

    我的问题就是如何能立即变化,且包含触摸、滑动、点击,只要触碰到了该item就立即变红,即使滑动也是红色,直到离开变蓝。
    补充:以前我还用selector实现过,但是仅仅限于点击,一旦滑动或者不是点击,即便已经变红的item还会变蓝,该如何解决啊!!!
  说得太多了,望高手赐教,万分感谢!!!!!

5个回答

freedom_wings5
freedom_wings5   2016.03.30 23:01

覆写onTouch方法,其中在ACTION_DOWN里变,在ACTION_UP里变回来

buaawuqiong280111
buaawuqiong280111 刚刚试了下,的确可以,中间出了些其他问题,现在已解决,多谢,其他兄弟在此不一一答谢了,感谢各位回复,受益匪浅
2 年多之前 回复
u010707039
u010707039   2016.03.30 23:29

listView.setOnTouchListener

liweicai137
liweicai137   2016.03.31 11:32

listview

<item android:drawable="@android:color/white" android:state_pressed="false"/>
<item android:drawable="@color/bg_content" android:state_pressed="true"/>

skyunicorn
skyunicorn   2016.03.31 16:19

设置一个selector,做为Item的TextColor就可以了

skyunicorn
skyunicorn 嗯,没看清楚,selector在滑动的时候没用,按楼上的重写onTouch试试吧
2 年多之前 回复
cyxevil
cyxevil   2016.03.31 17:37

listView.setOnTouchListener

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
计算器,带源码
自己做的,希望有高手修改.小弟在此谢过了
无线网络问题##高手请赐教
寝室无限网络,经P2P终结者拦截有非法用户连接到无线网络,导致我们无法上网。请教有什么方法能够找到非法用户或能控制非法用户先谢过了
Android牛人博客集合
最近看到别人两个月时间锻炼成安卓大神,真心牛逼,没玩两点多睡,向他人学习啊!http://blog.csdn.net/u011068702/article/category/2541183----两个月学会安卓并且技术还是大神的博客,http://www.cnblogs.com/rollenholt----这是一个大二的学生的博客,自叹不如,http://my.csdn.net/lmj623565
新手求助,请赐教!
我以前没有任何VC的编程基础,现在逼不得以要学.net,请问要从那方面入手,能不能推荐几本零起点的书,不胜感激!
厉害了,我的谷歌小弟
【回复“1024”,送你一个特别推送】今天这篇文章是我们优质博客推荐系列的第三篇,这个系列可以说虽然流量不多,但是反响很好,很多人都非常喜欢。今天推荐的这个博主,虽然用的不是独立博客,但是即使是在 CSDN 上,也是非常厉害的了,不仅质量好,而且很高产。今天我们推荐的这个博主的博客叫:谷哥的小弟,博客标题是:坚持原创,热衷分享;积累技术,沉淀生活。这位博主到底有多棒呢?一起来看看。博客访问量:18
java链接mysQL
此编程问题相信很多高手曾经过,小弟在此班门弄斧
VB五子棋问题,请高手赐教
近期做课程设计,做了个五子棋人机对战的程序,但是“悔棋”和“保存棋局”两个功能不会实现,请高手赐教附源程序:Option ExplicitDim comable   As BooleanDim comturn   As BooleanDim blackturn   As BooleanDim whiteturn   As BooleanDim comcolor   As LongDim bla
MFC猜数字游戏
电子词典上的猜数字游戏。得分榜还未实现,请高手赐教!
算法高手再度集结 通关秘籍拿走不谢
近日,第二届腾讯广告算法大赛启动报名。截至目前,已收到来自中国、美国、欧洲、澳洲等20个多国家和地区的报名。众多算法高手已加入到这场烧脑竞技中。为了让更多参赛者在未来的比...
易语言为什么会报毒呢
易语言的误报问题,有高手知道吗?有知道的请告诉小弟