如何在Android Java中以编程方式选择第一个芯片作为默认设置?

问题描述

我已经在XML中定义了芯片组,并以编程方式添加芯片,如下所示:

chip_group_filter.removeAllViews();
        for(FilterModel filterModel : Common.categorySelected.getFilters()){
            Chip chip = (Chip) getLayoutInflater().inflate(R.layout.layout_filter_item,null);
            chip.setText(new StringBuilder(filterModel.getName()));
            chip.setCheckedIconVisible(false);
            chip_group_filter.addView(chip);
            chip.setChipBackgroundColorResource(R.color.lightGray);
            chip.setTextColor(getResources().getColor(android.R.color.black));
            chip.setonCheckedchangelistener(new CompoundButton.OnCheckedchangelistener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
                    if (isChecked) {
                        seeSelectedChip(chip);
                        serviceListviewmodel.loadServicesByFilter(chip.getText().toString());
                    }
                }
            });

我想选择第一个芯片作为认芯片,并希望对其执行checkChangedListener事件。怎么写那个逻辑?

解决方法

您可以使用以下方法:chipGroup.check(id)。它可以与芯片的id一起选择。

您可以使用:

chipGroup.check(chip.getId());

或者如果您没有ID

chipGroup.check(chipGroup.getChildAt(0).getId());