在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是不是有问题了