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_normalIDがマップにある場合でもボタンを設定するようです。私は何を間違っていますか?

編集:

申し訳ありませんが、間違ったコードをコピーしました。R.drawable.is_a_favourite-オブジェクトが favouritesData ArrayList に追加された最後のオブジェクトである場合にのみ、ボタンを設定しているように見えることに気付き ました

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 に答える