我有一个收藏夹按钮,我希望它根据是否在收藏夹地图中找到ID来更改它的图像,但它似乎不起作用。 这是我的代码:
boolean containsShop = false;
for (Map<String, String> hashMap : TabsViewPagerFragmentActivity.favouritesData)
{
containsShop = hashMap.containsValue(shopID);
}
if(containsShop) {
isFavourite = true;
favouritesBtn.setBackgroundResource(R.drawable.is_a_favourite);
} else {
isFavourite = false;
favouritesBtn.setBackgroundResource(R.drawable.favourite_normal);
}
即使ID在地图中,似乎也将按钮设置为R.drawable.favourite_normal
。
我做错了什么?
编辑:
抱歉,我复制了错误的代码。 - 我只是注意到它似乎只是将Button设置为
R.drawable.is_a_favourite
如果对象是添加到favouritesData ArrayList的最后一个对象
答案 0 :(得分:0)
containsShop = hashMap.containsValue(shopID);
替换此
containsVenue = hashMap.containsValue(shopID);
^^^^^^^^^^^^
答案 1 :(得分:0)
并在break
中添加for loop
语句,如果找到了该值。否则,在循环的下一次迭代中,boolean
值可能会被覆盖。
containsShop= hashMap.containsValue(shopID);
if (containsShop) break;