0

hey I am working in android with material ui 3. I am getting error when I used this code. I am trying to set style through programmatically and I am getting error. I want to create tag through using android chip provide by google. But I don't understand why I am getting error my running the activity.

implementation 'com.google.android.material:material:1.5.0'

TagHelper.kt

import android.content.Context
import android.view.ViewGroup
import com.google.android.material.chip.Chip
import com.google.android.material.chip.ChipDrawable

object TagHelper {

    fun addTag(productTags: List<String>, viewGroup: ViewGroup) {
        productTags.forEachIndexed { _, tagString ->
            val chip = Chip(viewGroup.context)
            chip.isClickable = false
            setupChipAppearance(viewGroup.context, chip)
            chip.text = tagString
            viewGroup.addView(chip)
        }
    }

    private fun setupChipAppearance(
        context: Context,
        chip: Chip
    ) {
        val drawable =
            ChipDrawable.createFromAttributes(context, null, 0, R.style.ProductChip)
        chip.setChipDrawable(drawable)
    }
}

style.xml

 <style name="ProductChip" parent="@style/Widget.Material3.Chip.Input">
   // style attributes
 </style>

Error

2022-03-15 12:42:32.430 18818-18818/com.example.app.dev E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.app.dev, PID: 18818
    java.lang.NullPointerException: Attempt to invoke virtual method 'float com.google.android.material.resources.TextAppearance.getTextSize()' on a null object reference
        at com.google.android.material.chip.ChipDrawable.loadFromAttributes(ChipDrawable.java:359)
        at com.google.android.material.chip.ChipDrawable.createFromAttributes(ChipDrawable.java:280)
        at com.example.app.TagHelper.setupChipAppearance(TagHelper.kt:26)
        at com.example.app.TagHelper.addProductTags(TagHelper.kt:15)
        at com.example.app.products.ProductActivity.setupSaveView(ProductActivity.kt:410)
        at com.example.app.products.ProductActivity.setupViewModel$lambda-4(ProductActivity.kt:93)
        at com.example.app.products.ProductActivity.lambda$XbNDghVZtofDBOgHXRVZECmW9aw(Unknown Source:0)
        at com.example.app.products.-$$Lambda$ProductActivity$XbNDghVZtofDBOgHXRVZECmW9aw.onChanged(Unknown Source:4)
        at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
        at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
        at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
        at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
        at androidx.lifecycle.LiveData$1.run(LiveData.java:93)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7839)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Kotlin Learner
  • 3,995
  • 6
  • 47
  • 127

2 Answers2

2

I had a similar issue. But I solved this problem by downgrading to

com.google.android.material:material:1.4.0
Elikill58
  • 4,050
  • 24
  • 23
  • 45
Mr. WillKiss
  • 21
  • 1
  • 2
0

Had the same problem as of today, but I resolved it by using:

style="@style/Widget.MaterialComponents.Chip.Filter"

Instead of:

style="@style/Widget.Material3.Chip.Filter"
agirardello
  • 2,895
  • 22
  • 22