温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android listview item点击后,显示点击效果

发布时间:2020-07-09 19:31:06 来源:网络 阅读:4320 作者:manlianman 栏目:移动开发

最近遇到了一个问题,在用到listview时,想在listview的item点击后显示高亮的效果,但是在activity中写listview的onitemclick事件中写变色效果后,点击可以变色,但是在listview滑动后,这个效果竟然消失了?很是纠结,为什么呢?原因没有搞太懂,好像是在滑动的时候又触发了adapter,所以导致效果消失。后来找到一种解决办法,分享下:

 

  在listview的adapter中添加如下方法:

/**
  * 增加用户点击时,获得位置,并改变颜色
  * @param pos
  */
 public void setSelectedPosition(int pos) {
  selectedPos = pos;
  // inform the view of this change
  notifyDataSetChanged();
 }

 public int getSelectedPosition() {
  return selectedPos;
 }

然后在listview的onitemonclick事件时调用这个方法:

 

public class MeasureitemListener implements OnItemClickListener{

  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    long arg3) {
   measurelistadapter.setSelectedPosition(arg2);
   datalDialog= new LoadDialogDao(getActivity(),"数据加载中...");
   datalDialog.show();
   Map<String,String> map = (Map<String,String>)arg0.getItemAtPosition(arg2);
            measure_id = map.get("measuerid");
            getData(measure_id);
   
  }
 };

效果就是点击后,listview被点击的部分会显示高亮效果,也可以根据自己的需要设置效果。

有需要的可以从github 下载我的原码,地址是:https://github.com/maliankun/listview/archive/master.zip

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI