gpt4 book ai didi

Android芯片膨胀导致 "Invalid ID 0x00000000."

转载 作者:行者123 更新时间:2023-12-03 13:25:36 42 4
gpt4 key购买 nike

迁移到 android-x 后,我注意到有很多日志说:

"E/itterforandroi: Invalid ID 0x00000000."

我设法向下循环到我正在创建一个新的 RecyclerView ViewHolder 并膨胀包含芯片的布局。其他所有字段都没有显示这样的错误,只有芯片。

在 xml 中,它看起来像这样:
<com.google.android.material.chip.Chip
android:id="@+id/someChip"
style="@style/Widget.MaterialComponents.Chip.Action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
app:chipIcon="@drawable/ic_account_circle_black_24dp"
app:chipIconEnabled="true" />

我找不到导致错误的定义中真正缺少的内容。有什么提示吗?

最佳答案

我在芯片膨胀方面遇到了同样的问题,我通过切换到我的芯片的数据绑定(bind)布局来修复这个错误,如下所示。
我还认为您应该删除 xml 中的“android:id”属性,因为您正在使用 RecyclerView 动态填充芯片。它应该为您自动生成一个 id。

<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<data>
<import type="android.content.Context" />
<variable
name="element"
type="com.android.sarahmica.app.database.Element" />
</data>

<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:clickable="true"
android:focusable="true"
android:text="@{element.name}"
android:tag="@{element.id}"
app:chipBackgroundColor="@{element.getChipColor(context)}"
style="@style/Widget.MaterialComponents.Chip.Filter" />
</layout>
然后我像这样从 fragment 中的列表中为我的芯片充气(但由于您使用的是 RecycylerView,因此您必须调整您的适配器以相应地使用数据绑定(bind))
val chipGroup = getChipGroup(type)
val inflater = LayoutInflater.from(chipGroup.context)
elementList.forEach { element ->
val chipBinding: MyChipBinding = DataBindingUtil.inflate(inflater, R.layout.my_chip, chipGroup, true)
chipBinding.greenActivity = activity
binding.lifecycleOwner = this
}
希望我的解决方案能帮到你!!

关于Android芯片膨胀导致 "Invalid ID 0x00000000.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55504545/

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