我有一个芯片组,其中的芯片是动态添加的。当芯片的文本与"Choose date“匹配时,我必须更改芯片文本。但在取消选择芯片时,芯片文本应替换为原始文本。
但是当它被取消选择时,我无法找到芯片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();
}
}
}
});取消选择芯片时,芯片选择为空。
发布于 2021-03-23 21:48:49
好吧,ChipGroup上的Listener只能监听Checked状态,用于监听Unchecked状态在目标Chip上设置Listener。
发布于 2021-03-29 22:16:26
由于您是以编程方式添加Chip,因此可以为每个Chip添加一个侦听器。
类似于:
chip.setOnCheckedChangeListener { chip, isChecked ->
if (!isChecked){
//....chip.text = "...." //replace the text
}
}https://stackoverflow.com/questions/66761604
复制相似问题