0

押されたときに背景ビューを変更したい(動作中)。私の問題は、リスト内の他のビュー (同じビューではない) を押すと、背景を新しく選択したビューの黒に設定し、背景を前に選択したビューの白に変更したいということです。これが私の実装です

for(final TotalPlayers player :     this.playerData){
    final ArrayList<View> addedPlayerViews1 = getPlayerView(player);
    dropPlayersListView.addView(addedPlayerViews1.get(0));
    addedPlayerViews1.get(0).setOnClickListener(new OnClickListener() {
    boolean highlight = false;
    @Override
    public void onClick(View v) {

        if (!highlight)
        {
            addedPlayerViews1.get(0).setBackgroundColor(Color.BLACK);
            highlight=true;
        }
        else {
            addedPlayerViews1.get(0).setBackgroundColor(Color.WHITE);
            highlight=false;
         }

       }
     });        
   }
}
4

1 に答える 1

0
addedPlayerViews1.get(1).setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
            addedPlayerViews1.get(0).setBackgroundColor(Color.WHITE);
            highlight=false;

    }
}); 

別のビューは get(1) で取得できると仮定しました。

コードの問題は、背景を変更したいビューの onClick イベントのみを処理したことです。ただし、他のビューの onClick も処理する必要があります。

于 2013-04-28T03:01:51.357 に答える