【问题标题】:How to Select first chip as default progrmatically in Android Java?如何在 Android Java 中以编程方式选择第一个芯片作为默认芯片?
【发布时间】:2021-01-25 02:44:08
【问题描述】:

我在我的 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 事件。这个逻辑怎么写?

【问题讨论】:

    标签: java android material-components-android android-chips


    【解决方案1】:

    您可以使用方法:chipGroup.check(id)。配合芯片的id进行选择。

    你可以使用:

    chipGroup.check(chip.getId());
    

    或者如果你没有身份证

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-19
      • 2020-11-01
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-14
      相关资源
      最近更新 更多