gpt4 book ai didi

android - 无法生成 View 绑定(bind) java.lang.StackOverflowError

转载 作者:行者123 更新时间:2023-12-04 13:17:33 25 4
gpt4 key购买 nike

尝试将应用程序从支持迁移到 android 29 的 androidx。在 android studio 中出现错误无法生成 View 绑定(bind)器 java.lang.StackOverflowError。不显示任何文件名或行号的错误。

在探索了可能的解决方案后,我发现这个问题与绑定(bind)适配器有关。

在迁移app的时候,android studio自动转换了一段代码。

旧代码

android:visibility="@{rating.isExtended.get()?View.VISIBLE:View.GONE}"

新代码

android:visibility="@{safeUnbox(rating.isExtended.get())?View.VISIBLE:View.GONE}"

我关注了this链接并使用以下代码段。

@BindingAdapter("app:goneUnless")
public static void goneUnless(View view, Boolean visible) {
view.visibility = visible ? View.VISIBLE : View.GONE;
}

现在问题已解决。

最佳答案

错误是因为 getValue()get() 存在于您的 layout xml 文件中。

enter image description here

在我的一个 layout.xml 文件中,我编写了 mutableLiveDataVariable.getValue(),这是一种错误的做法。当我的工作室版本是 3.5.1 时,它工作正常,没有出现任何错误。

我一更新到 3.5.3。我开始收到 cannot generate view binders java.lang.StackOverflowError。所以我删除了 getValue() 并将我的代码更改为android:text="@={viewModel.firstName}"

它奏效了。

请检查报告的以下链接。

https://issuetracker.google.com/issues/143778134

https://issuetracker.google.com/issues/144604674

关于android - 无法生成 View 绑定(bind) java.lang.StackOverflowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58748194/

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