0

我为列表视图中的项目的图像视图设置了图像 A。我设置了onclick事件并更改为另一个图像B。但是单击后它不能更改为另一个iamge。当我打印日志时,我看到此方法已被调用。

holder.bus_icon.setImageResource(R.drawable.bus_blue);
            holder.bus_icon.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    Log.i("i", "点击图标了+test11" + position);
                    holder.bus_icon.setImageResource(R.drawable.bus_red);
                    adapter.notifyDataSetChanged();
                }
            });
4

2 回答 2

3

删除 adapter.notifyDataSetChanged();,因为您在适配器和调用中没有任何变化holder.bus_icon.invalidate();

希望这可以帮助你。

于 2012-12-07T08:46:54.617 回答
2

在 onclick 中,持有者指向错误的 imageView。

改用这个

               @Override
                public void onClick(View v) {
                    Log.i("i", "点击图标了+test11" + position);
                    ImageView iv = (ImageView)v;
                    iv.setImageResource(R.drawable.bus_red);
                }

希望能解决

于 2012-12-07T08:49:21.430 回答