需求很简单,在listview中 先给item的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();
}
});
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();
}
});
一般不都是onItemClickListenter么
然后通过switch(position)来判断点击事件啊。
水平不高,没看明白你的代码。。
这个导致ListView重新刷新了,所以图片还是原来的图片,没变
if (isblue) {
bus_icon.setImageResource(R.drawable.bus_blue);
} else {
Log.i("i", "变色了" + isblue);
bus_icon.setImageResource(R.drawable.bus_red);
}
bus_icon.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("i", "点击图标了+test11");
isblue = false;
adapter.notifyDataSetChanged();
}
}); 不刷新adapter也不行,又换了种方式感觉没什么问题啊
@Override
public void onClick(View v) {
Log.i("i", "点击图标了+test11" + position);
ImageView iv = (ImageView)v;
iv.setImageResource(R.drawable.bus_red);
}