我在 Kotlin 中构建了一个模块,然后导入到我的项目中。我minifyEnabled在模块的build.gradle文件中输入了false 。但是看不到源代码或者无法放置断点。
它适用于 Java,但不适用于 Kotlin。
尝试将应用程序从支持迁移到 androidx for android 29。在 android studio 中出现错误无法生成视图绑定 java.lang.StackOverflowError。错误未显示任何文件名或行号。
在探索了可能的解决方案后,我发现这个问题与绑定适配器有关。
在迁移应用程序时,android studio自动转换了一段代码。
旧代码
android:visibility="@{rating.isExtended.get()?View.VISIBLE:View.GONE}"
Run Code Online (Sandbox Code Playgroud)
新代码
android:visibility="@{safeUnbox(rating.isExtended.get())?View.VISIBLE:View.GONE}"
Run Code Online (Sandbox Code Playgroud)
我点击了此链接并使用了以下代码片段。
@BindingAdapter("app:goneUnless")
public static void goneUnless(View view, Boolean visible) {
view.visibility = visible ? View.VISIBLE : View.GONE;
}
Run Code Online (Sandbox Code Playgroud)
现在问题解决了。