【发布时间】:2019-11-07 11:52:14
【问题描述】:
尝试将应用程序从支持迁移到 androidx for android 29。在 android studio 中出现错误无法生成视图活页夹 java.lang.StackOverflowError。错误未显示任何文件名或行号。
在探索了可能的解决方案后,我发现这个问题与 Binding 适配器有关。
迁移应用时,一段代码由 android studio 自动转换。
旧代码
android:visibility="@{rating.isExtended.get()?View.VISIBLE:View.GONE}"
新代码
android:visibility="@{safeUnbox(rating.isExtended.get())?View.VISIBLE:View.GONE}"
我关注了this链接并使用了sn-p。
@BindingAdapter("app:goneUnless")
public static void goneUnless(View view, Boolean visible) {
view.visibility = visible ? View.VISIBLE : View.GONE;
}
现在问题已解决。
【问题讨论】:
标签: android android-studio androidx