如何在 Android 中动态添加新的 android 筹码?
How can I add the new android chips dynamically in Android?
我有一个名为 Question 的 class,其中包含标签的 String 数组。我正在尝试使用 Kotlin 和新芯片中的每个标签在 Recyclerview 中显示每个问题。这些芯片将包含在一个芯片组中。
我的问题是:
如何将数组中的每个标签元素添加到新的芯片中?
我正在尝试这样做,但显然行不通。
if (tags != null) {
for (tag in tags) {
val chip = Chip(itemView.context)
}
}
您可以像添加任何其他 ViewGroup
一样添加 Chip
,如下所示:
for (index in tags.indices) {
val chip = Chip(chipGroup.context)
chip.text= "Item ${tags[index]}"
// necessary to get single selection working
chip.isClickable = true
chip.isCheckable = true
chipGroup.addView(chip)
}
对于 singleSelection 不要忘记添加到您的芯片组:
chipGroup.isSingleSelection = true
或 xml
app:singleSelection="true"
我在尝试创建新芯片时总是遇到以下错误:
IllegalArgumentException: This component requires that you specify a valid android:textAppearance attribute
这可以通过使用以下行填充自定义 R.layout.chip
来解决:
android:textAppearance="@style/TextAppearance.MaterialComponents.Chip"
我有一个名为 Question 的 class,其中包含标签的 String 数组。我正在尝试使用 Kotlin 和新芯片中的每个标签在 Recyclerview 中显示每个问题。这些芯片将包含在一个芯片组中。
我的问题是:
如何将数组中的每个标签元素添加到新的芯片中? 我正在尝试这样做,但显然行不通。
if (tags != null) {
for (tag in tags) {
val chip = Chip(itemView.context)
}
}
您可以像添加任何其他 ViewGroup
一样添加 Chip
,如下所示:
for (index in tags.indices) {
val chip = Chip(chipGroup.context)
chip.text= "Item ${tags[index]}"
// necessary to get single selection working
chip.isClickable = true
chip.isCheckable = true
chipGroup.addView(chip)
}
对于 singleSelection 不要忘记添加到您的芯片组:
chipGroup.isSingleSelection = true
或 xml
app:singleSelection="true"
我在尝试创建新芯片时总是遇到以下错误:
IllegalArgumentException: This component requires that you specify a valid android:textAppearance attribute
这可以通过使用以下行填充自定义 R.layout.chip
来解决:
android:textAppearance="@style/TextAppearance.MaterialComponents.Chip"