How can I add the new android chips dynamically in Android?

前端 未结 2 1636
悲哀的现实
悲哀的现实 2021-02-12 11:53

I have a class called Question which contains a String array of tags. I\'m trying to show every question in a Recyclerview using Kotlin and every tag in a new chip. These chips

相关标签:
2条回答
  • 2021-02-12 12:01

    I always got the following error when trying to create a new Chip:

    IllegalArgumentException: This component requires that you specify a valid android:textAppearance attribute

    This could be fixed by instead inflating a custom R.layout.chip with the following line: android:textAppearance="@style/TextAppearance.MaterialComponents.Chip"

    0 讨论(0)
  • 2021-02-12 12:03

    You can add Chips the same way as any other ViewGroup like so:

    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)
    }
    

    for singleSelection don't forget to add to your chipGroup:

    chipGroup.isSingleSelection = true
    

    or in xml

    app:singleSelection="true"
    

    Good Luck and Happy Coding!

    0 讨论(0)
提交回复
热议问题