android - 无法使用 Android 数据绑定库设置 android:paddingLeft
问题描述
我正在使用数据绑定库来更新视图模型对象的视图。
activity_main.xml
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="viewModel"
type="com.example.android.DataViewModel" />
</data>
<com.google.android.material.button.MaterialButton
android:id="@+id/btn"
style="@style/Widget.MaterialComponents.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:paddingLeft="@{viewModel.setPaddingLeft}"
android:paddingRight="@{viewModel.setPaddingLeft}"/>
</layout>
视图模型:
@BindingAdapter({"android:paddingLeft"})
public static void setPaddingLeft(View view, float paddingFloat) {
int padding = context.getResources().getDimension(R.dimen.padding);
view.setPadding(padding, view.getPaddingTop(), view.getPaddingRight(),
view.getPaddingBottom());
}
我收到以下错误:
发现数据绑定错误:
[数据绑定] {“msg”:“无法将 com.example.android.DataViewModel.setPaddingLeft 解析为属性的访问器或侦听器。”
解决方案
推荐阅读
- r - 寻求想法在 R 中绘制大变量与它们的 R 平方值(从线性回归模型中得出)(最好使用 GGPLOT2)
- linux-kernel - 为什么在 qemu-system-x86_64 上启动 linux 时需要将控制台设置为 ttyS0
- composer-php - Laragon 定义外部 Composer 路径
- java - 如何在java中仅使用不为空的文本字段
- html - 在html css中对齐文本和切换按钮
- node.js - 服务器不加载数据
- php - 文件上传 CURL 命令到 PHP Curl
- installation - 无法接受来自 Pycharm 在 Raspberry Pi 上的隐私政策
- swift - 在使用 UIKit for macOS (Catalyst) 构建的应用程序中生成进程
- c# - SQL 事务死锁。不知道为什么