当前位置:  开发笔记 > Android > 正文

如何使用DataBinding将Image资源设置为ImageView

如何解决《如何使用DataBinding将Image资源设置为ImageView》经验,为你挑选了6个好方法。

我们如何在android中使用数据绑定将图像资源放入ImageView

  

如果pending为true,我想要一个图像,如果pending为false,我想要另一个图像.但它显示错误.我如何实现此功能?



1> qinmiao..:

的回答:

限定:

@BindingAdapter({"android:src"})
public static void setImageViewResource(ImageView imageView, int resource) {
    imageView.setImageResource(resource);
}

使用:




2> luttu androi..:

像这样设置图像,

  



3> Spark.Bao..:

我试过这个,它对我有用(buildToolsVersion:24.0.1):


只是app:imageResource用来替换android:src,android:src="@{item.avatarResId}"不起作用,@BindAdapter("android:src")为它定义一个自定义.

但是使用app:imageResource不需要@BindAdapter另外定义,因为ImageView有一个名为的方法setImageResource(),当你使用时app:imageResource,它会setImageResource()自动调用.



4> yoAlex5..:

如果您想将参数传递给方法,就像@IdRes一样,您可以使用




    

        
    

    



5> Rohan Taneja..:

如果数据模型包含图像的资源ID,则无需以编程方式执行任何操作即可执行此操作.

例:




            
 

 

 




只需将以下行添加到imageView(我在那里添加代码时无法格式化代码):

android:src="@{ContextCompat.getDrawable(context,roomInfoItem.resId)}"

哪里resId包含R.drawable.your_image_name



6> piotrek1543..:

对于这篇伟大的文章:使用数据绑定和毕加索加载图像

有两种方法可以做到:

    运用 @BindingAdapter

    ObservableField 和定制的毕加索目标

在Android开发人员参考数据绑定指南中,您只能找到第一个.

请阅读这两篇文章.

更多信息:

http://www.mutualmobile.com/posts/using-data-binding-api-in-recyclerview

https://blog.stylingandroid.com/data-binding-part-3/

希望它有所帮助.

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有