我有一个Grid Layout,里面有一个以上的Card View,我想将其用作复选框,以通过更改所选颜色的背景颜色来使用户选择。 但是我编写的代码允许用户选择所有这些代码:(。 我怎么解决这个问题。 (我写的方法)
private void carSizeChoice(){
gridLayoutCT = findViewById(R.id.carSize);
for( int i=0 ; i<gridLayoutCT.getChildCount();i++){
final CardView cardView = (CardView)gridLayoutCT.getChildAt(i);
cardView.setTag(false);
final int clickedCard = i ;
cardView.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onClick(View v) {
if(cardView.getCardBackgroundColor().getDefaultColor()== -1){
cardView.setCardBackgroundColor(Color.parseColor("#FFA517"));
if(clickedCard==0){
bCarT.setTextColor(getColor(R.color.colorWhite));
}
else if(clickedCard==1){
sCarT.setTextColor(getColor(R.color.colorWhite));
}
}
else{
cardView.setCardBackgroundColor(Color.parseColor("#FFFFFF"));
if(clickedCard==0){
bCarT.setTextColor(getColor(R.color.colorBlack));
}
else if(clickedCard==1){
sCarT.setTextColor(getColor(R.color.colorBlack));
}
}
}
});
}
}