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里变回来

    评论

报告相同问题?

悬赏问题

  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入