0

我有一个收藏夹按钮,我希望它根据是否在收藏夹地图中找到 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);
             }

R.drawable.favourite_normal即使 ID 在地图中,它似乎也将按钮设置为。我究竟做错了什么?

编辑:

对不起,我复制了错误的代码。R.drawable.is_a_favourite- 我刚刚注意到,如果对象是添加到 favouritesData ArrayList 的最后一个对象,它似乎只将 Button 设置为

4

2 回答 2

0
containsShop = hashMap.containsValue(shopID);

替换这个

containsVenue = hashMap.containsValue(shopID);
^^^^^^^^^^^^
于 2012-07-31T09:57:15.447 回答
0

并在 中添加一条break语句for loop,如果您找到了该值。否则,在循环的下一次迭代中,该boolean值可能会被覆盖。

containsShop= hashMap.containsValue(shopID);
if (containsShop) break;
于 2012-07-31T10:06:23.053 回答