单击imageview时更改为另一个图像

时间:2012-12-07 08:42:40

标签: android imageview

我为listview中的项目的imageview设置了图像A.我设置了onclick事件并更改为另一个图像B.但是点击它之后无法更改为另一个图像。当我打印Log时,我看到已经调用了这个方法。

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();
                }
            });

2 个答案:

答案 0 :(得分:3)

删除adapter.notifyDataSetChanged();,因为适配器中没有任何更改,并调用holder.bus_icon.invalidate();

希望这可以帮助你。

答案 1 :(得分:2)

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

改为使用

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

希望它能解决