无法将多个芯片添加到ChipGroup中

时间:2019-07-21 07:22:22

标签: android material-design

我正在尝试将芯片添加到ChipGroup(而不是singleLine)中:

val chip = Chip(this)
    chip.isCloseIconVisible = true
    for (i in 0..10) {
        chip.setText("Some text $i")
        chip_group.addView(chip as View)
    }

但我有一个例外:

The specified child already has a parent. You must call removeView() on the child's parent first.

如何将Chip标记为唯一子代?还是我该怎么办?

2 个答案:

答案 0 :(得分:1)

您需要在循环内部声明芯片

for (i in 0..10) {
    val chip = Chip(this)
    chip.isCloseIconVisible = true
    chip.setText("Some text $i")
    chip_group.addView(chip as View)
}

由于您将其声明为val(这表示未更改它是值),因此您将得到相同的子错误。

答案 1 :(得分:0)

同一父视图不能多次添加。

请参阅: https://stackoverflow.com/a/24032857

它将引发上述异常。

您试图多次将相同的Chip添加到父项。

尝试修改后的代码,

    for (i in 0..10) {
        val chip = Chip(this)
        chip.isCloseIconVisible = true
        chip.setText("Some text $i")
        chip_group.addView(chip as View)
    }