更改一张卡片查看背景颜色中的几种

时间:2019-07-15 19:02:57

标签: java android android-cardview grid-layout

我有一个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));
                            }
                        }
                    }
                });
            }
        }

0 个答案:

没有答案