在Onclick - Android中清除之前选择的视图背景,并更改新选择的视图背景



我想改变背景视图,当它被按下(其工作)。我的问题是,如果我在列表中按下另一个视图(不是同一个视图),我想将我的背景设置为新选择视图的黑色,并将背景更改为先前选择视图的白色。这是我的实现

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;
         }
       }
     });        
   }
}
addedPlayerViews1.get(1).setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
            addedPlayerViews1.get(0).setBackgroundColor(Color.WHITE);
            highlight=false;
    }
}); 

我假设你可以通过get(1)获得另一个视图。

你的代码的问题是你只处理你的视图的onClick事件,你想改变背景。但是你也需要处理其他视图的onClick

最新更新