gpt4 book ai didi

java - 以编程方式生成的芯片不响应 ChipGroup 中的单击

转载 作者:行者123 更新时间:2023-12-01 22:24:29 24 4
gpt4 key购买 nike

我已经制作了一个芯片组,我想在 java 中动态生成其内容,并用由字符串制成的过滤器芯片填充它。我已经制作了 Chipgroup,但在尝试添加芯片时我注意到,无论我做什么,芯片都不会响应点击。我还尝试在设计编辑器中制作单个芯片并将其移动到同一个芯片组中,结果是设计编辑器创建的芯片按预期工作(选中和取消选中它),生成的芯片是静态的(在同一组中) )。

我用于单个工作代码的代码:

<com.google.android.material.chip.ChipGroup
android:id="@+id/iChipGroup"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:chipSpacing="8dp"
app:singleSelection="true" >

<com.google.android.material.chip.Chip
android:id="@+id/chip2"
style="@style/Widget.MaterialComponents.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="cwae" />
</com.google.android.material.chip.ChipGroup>

我创建动态的方式

Chip chip = new Chip(iChipGroup.getContext());
ChipDrawable chipDrawable = ChipDrawable.createFromAttributes(getContext(), null, 0, R.style.Widget_MaterialComponents_Chip_Filter);
chip.setChipDrawable(chipDrawable);
chip.setText(myText);
iChipGroup.addView(chip);

我还尝试在单芯片和 ChipGroup 上设置 OnCheckedhangeListener,但什么也没得到。如果有帮助,我的层次结构是(在 fragment 内):

frameLayout
-scrollView
--LinearLayout
---chipGroup
----chip...

最佳答案

通过改变我的制作方式,设法让芯片做出响应

LayoutInflater layoutInflater = getLayoutInflater();
Chip chip = (Chip)layoutInflater.inflate(R.layout.my_filter_chip,ingredientsChipGroup, false);

关于java - 以编程方式生成的芯片不响应 ChipGroup 中的单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58571131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com