android - 如果绑定适配器提供了设置器,请检查适配器是否正确注释以及参数类型是否匹配
问题描述
我在使用谷歌代码实验室的数据绑定时遇到了麻烦。
当我尝试使用以下功能时发生了这种情况。
@BindingAdapter("app:hideIfZero")
fun hideIfZero(view: View, number: Int) {
view.visibility = if (number == 0) View.GONE else View.VISIBLE
}
我在 xml 中调用它,如下面的代码。
<ProgressBar
...
app:hideIfZero="@{viewmodel.likes}"
... />
viewModel 如下所示。
class SimpleViewModel : ViewModel() {
...
private val _likes = MutableLiveData(0)
...
var likes: LiveData<Int> = _likes
我已经尝试删除 Android Studio 生成的所有缓存,
但它并没有达到我的预期。
所以我认为我错过了一个问题。
我尝试了代码实验室https://codelabs.developers.google.com/codelabs/android-databinding/#7
,我的存储库在这里https://github.com/libliboom/codelab-data-binding
谁让我知道这个问题?
解决方案
最后,由于以下链接,我解决了我报告的问题。
https://github.com/googlecodelabs/android-databinding/issues/11
您应该添加注释处理器“kotlin-kapt”。
很难弄清楚这个问题。
我还在下面的链接中更新了与此问题相关的存储库。
https://github.com/libliboom/codelab-data-binding/commit/a98e3dc6079f542a49698a4d717b71ad4737dfdf
我希望有一天它可以帮助那些为此苦苦挣扎的人。
祝你好运!
推荐阅读
- opencl - 在 NVIDIA GPU 上编译 GPU 内核时出现预期表达式错误
- reactjs - How to save local storage cypress react
- c++ - 对 dlopen 的未定义引用
- php - 将我的网址从 domani/index.html 更改为 domani/index
- bash - How to avoid an error when listing nonexistent files?
- javascript - javascript:我的代码应该从 60 开始倒计时,但数值没有出现
- c++ - 如何检查是否可以从给定类型构造模板类型
- r - ggplot: barplot y value as grouped column value
- java - 将我的代码从从键盘读取更改为从文本文件读取
- python - Delete certain text pattern in python