记录ListView遇到的一个问题
2019-02-26 本文已影响4人
12313凯皇
在adapter
中进行判断,根据结果显示不同的图标,原来是这样写的:
if (note.isLiked()) {
viewHolder.isLiked = true;
viewHolder.news_item_like.setImageResource(R.drawable.ic_red);
}
但是发现这样会出现显示错乱的现象(该显示的地方有的对有的不对,不该显示的地方也是有的对有的不对),改了半天都不知道是什么原因。后来发现需要将else里的逻辑不全。
if (note.isLiked()) {
viewHolder.isLiked = true;
viewHolder.news_item_like.setImageResource(R.drawable.ic_like2);
}else {
viewHolder.isLiked = false;
viewHolder.news_item_like.setImageResource(R.drawable.ic_like);
}
描述的不是很清楚。举个简单的例子,如果结果为true的话这个图标时黑色的,否则就应该是红色。但是因为我默认就是红色的,所以我只在结果为true的时候设置了颜色。结果这样就出了问题,需要在else里面吧黑色也设置上。具体原因没有弄清楚,因为不知道怎么描述所以百度也不知道怎么百度。。