当前位置: 代码迷 >> Android >> listview adapter 控件注册点击事件,点击一个item后有其余item的这个控件响应了事件
  详细解决方案

listview adapter 控件注册点击事件,点击一个item后有其余item的这个控件响应了事件

热度:186   发布时间:2016-04-28 02:58:26.0
listview adapter 控件注册点击事件,点击一个item后有其他item的这个控件响应了事件
在listview的adapter里面对某个组件注册监听,运行时处理事件是执行了,但是有其他的item里面的控件也响应了这个事件,我出现的情况是每隔2个item里面控件都执行了事件,就是第0,3,6个item出现相应。
由于我要做的是点击后对改控件做旋转处理,点击完后旋转是做了,下拉又发现其他item也跟着旋转了
求大牛帮帮忙啊,小弟感激不尽,在线急等啊
------解决思路----------------------
这个是convertView重用的结果,用map把控件旋转的状态保持起来,在getView里面根据这个状态设置控件。
------解决思路----------------------
你把代码贴下,估计是逻辑有问题
------解决思路----------------------
应该有用啊,你写在里面是把每个控件都绑定了点击事件,你debug看看,每次点击的时候执行了什么
------解决思路----------------------

 public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.item_foodie_show_list_plus, parent, false);
            holder = new ViewHolder();
 
            holder.rlyCover = (RelativeLayout) convertView.findViewById(R.id.fsp_imgs);
            holder.imgFsp = (ImageView) convertView.findViewById(R.id.fsp_cover);
            holder.imgUserIcon = (ImageView) convertView.findViewById(R.id.fsp_usericon);
            holder.txvContent = (TextView) convertView.findViewById(R.id.fsp_content);
            holder.btnFavor = (ImageButton) convertView.findViewById(R.id.btn_favor);
            holder.btnComment = (ImageButton) convertView.findViewById(R.id.btn_comment);
            holder.btnCollect = (ImageButton) convertView.findViewById(R.id.btn_collection);
            holder.btnShare = (ImageButton) convertView.findViewById(R.id.btn_share);            
             
            convertView.setTag(holder);
             
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
 
        ImageUtils.setImageViewSize(holder.imgFsp, 4, 3);
        ImageUtils.setImageViewSize(holder.txvContent, 4, 3);

        rlyMap.put(position, holder.rlyCover);
        txvMap.put(position, holder.txvContent);
        holder.rlyCover.setOnClickListener(new OnRotateClickListener(position));
        holder.txvContent.setOnClickListener(new OnRotateClickListener(position));
 
        String urlContent = ParamsHelper.checkUrl(list.get(position).getPhoto());
        String urlIcon = ParamsHelper.checkUrl(list.get(position).getUserphoto());
         
        ImageLoader.getInstance().displayImage(urlIcon, holder.imgUserIcon, options);
        ImageLoader.getInstance().displayImage(urlContent, holder.imgFsp, options);
        holder.txvContent.setText(list.get(position).getContent());
         
        return convertView;
}

这样试试,如果还有问题,就等看看给OnRotateClickListener是不是有问题了
  相关解决方案