簡體   English   中英

更改材料芯片的文本

[英]change text of material chip

我有一個芯片組,其中正在動態添加芯片。 當芯片文本匹配“選擇日期”時,我必須更改芯片文本。 但在取消選擇芯片時,芯片文本應替換為原始文本。

但是當它被取消選擇時我無法找到芯片ID。 我正在使用下面的代碼來做同樣的事情。 請建議我該怎么做。

   chipGroup.setOnCheckedChangeListener(new ChipGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(ChipGroup chipGroup, int i) {

            chipchoose = chipGroup.findViewById(i);
            if (chipchoose != null){
            String chipnamee= chipchoose.getText().toString();
            if (chipnamee.equalsIgnoreCase("Choose Date")){
                openDialogCalender();
            }
        }
        }


    });

取消選擇芯片時,chipchoose 為 null。

那么, ChipGroup上的Listener只能監聽Checked state,對於監聽Unchecked state 設置Listener on target Chip

由於您以編程方式添加Chip ,因此您可以為每個Chip添加一個偵聽器。
就像是:

    chip.setOnCheckedChangeListener { chip, isChecked ->
        if (!isChecked){
            //....chip.text = "...." //replace the text
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM