Android DataBinding 自定义绑定(bind)适配器警告

标签 android android-layout android-studio android-databinding

我按照 Android 开发者官方网站上的 自定义绑定(bind)适配器 图像加载 的数据绑定(bind)文档: http://developer.android.com/tools/data-binding/guide.html

成功编译代码后,我收到一条警告:

Warning:Application namespace for attribute bind:imageUrl will be ignored.

我的代码如下:

@BindingAdapter({"bind:imageUrl"})
    public static void loadImage(final ImageView imageView, String url) {
        imageView.setImageResource(R.drawable.ic_launcher);
        AppController.getUniversalImageLoaderInstance().displayImage(url, imageView);
    }

为什么会生成此警告?

还附上截图... enter image description here

最佳答案

我相信在 BindingAdapter 注释中真正忽略了命名空间。如果您使用任何命名空间前缀,无论它是否与您的布局中使用的前缀匹配,都会出现警告。如果省略命名空间,如下所示:

@BindingAdapter({"imageUrl"})

...警告没有发生。

我怀疑存在警告,以提醒我们在字符串用作注释实现中的键之前, namespace 已被剥离。当您考虑布局可以自由声明他们想要的任何命名空间时,这是有道理的,例如app:bind:foo:,并且注解需要适用于所有这些情况。

关于Android DataBinding 自定义绑定(bind)适配器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35313466/

相关文章:

安卓 : Proper way to use custom typeface in

java - 将 android java 代码作为标准 java 应用程序运行

android - 无法以编程方式更改 TextInputLayout 提示重力

适用于大屏幕的 android 可绘制文件夹

android - 在我的 Google Play 帐户中,应用程序登录私钥按钮被禁用

java - Volley : MultipartRequest. getBody:IOException 写入 ByteArrayOutputStream

Android HttpURLConnection 无法重定向到 "market://details?id=my.package.name"

Android 列表 - 隐藏支持数组中的项目

android - 除非 showAsAction 为 Never,否则工具栏/ActionBar 菜单项不可单击

android-studio - 如何将 Gradle 项目链接到其依赖项的 Javadoc?