Android数据绑定(bind)构建错误: constant expression required

标签 android android-layout data-binding

我正在通过引用 https://developer.android.com/topic/libraries/data-binding/index.html 使用 DataBinding 编写 Android 应用程序.

但是在构建我的项目时,它在生成的类中显示错误为

> '/databinding/DataBinderMapper.java:10: error: constant expression
> required.'

此错误发生在生成的类 DataBinderMapper.java 内的 switch 语句中(此文件是用于数据绑定(bind)的自动生成文件)

有人知道自动生成的 buld 文件中发生此 java switch case 错误的原因吗?

编辑: 我发现此问题的原因是,在 R.java 文件中创建的布局引用对于这种情况不是最终的。 例如,在我的例子中,R.java 中的布局引用是

public static int activity_main=0x7f04001c;

其实应该是

public static final int Activity_main=0x7f04001b;

但我不知道发生这种情况的原因以及如何将其更改为最终。

最佳答案

您要绑定(bind)的模型的变量中可能有 Final 修饰符。

关于Android数据绑定(bind)构建错误: constant expression required,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46198882/

相关文章:

java - 根据 boolean 值 JavaFX 更改标签

javascript - android上的 'SafeAreaView'相当于什么 - React Native

java - 按钮的文本循环遍历字符串数组

Android Layout, View 高度等于屏幕尺寸

android - CardViews 未显示在 RecyclerView 中

c# - 简单绑定(bind) .NET 数据绑定(bind)不起作用

安卓工作室 3.0 : buildToolsVersion not found in gradle files

java - Android Studio 增量内存使用

android - 如何在 ScrollView android中的屏幕底部对齐textview

jquery - ASP.NET MVC3 : Adding Textboxes with Jquery and binding to Model