记录ListView遇到的一个问题

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里面吧黑色也设置上。具体原因没有弄清楚,因为不知道怎么描述所以百度也不知道怎么百度。。

你可能感兴趣的:(记录ListView遇到的一个问题)