buaawuqiong280111 2016-03-30 14:56 采纳率: 0%
浏览 1261

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条回答

  • 普通网友 2016-03-30 15:01
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能