当前位置: 首页 > 知识库问答 >
问题:

Android数据绑定-如何为ImageView设置contentDescription和src

顾梓
2023-03-14

我试图以这种方式设置contentdescription:

        <ImageView
        android:id="@+id/accountType"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:contentDescription="@{() -> account.getContentDescription()}"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:srcCompat="@mipmap/ic_launcher" />

我的帐户类:

data class Account(
    val id: Long = 0L,
    val title: String,
    val accountType: AccountType,
    val balance: Double = 0.0
) {
fun getAccountTypeDrawable() =
        when (accountType) {
            AccountType.CHECKING_ACCOUNT -> R.drawable.ic_account_balance_black_48dp
            AccountType.WALLET -> R.drawable.ic_local_atm_black_48dp
            AccountType.SAVINGS_ACCOUNT -> R.drawable.ic_package_black_48dp
            AccountType.INVESTMENT -> R.drawable.ic_trending_up_black_48dp
            AccountType.OTHER -> R.drawable.ic_lens_black_48dp
        }

fun getContentDescription(view: View) =
        view.context.resources.getStringArray(R.array.account_type)[accountType.ordinal]!!
}
android:contentDescription="@{context.getResources().getStringArray(R.array.account_type)[account.accountType.ordinal]}"

如何使用Account类中的方法为ImageView设置ContentDescriptionapp:srcCompat

共有1个答案

左丘昕
2023-03-14

您可以直接使用上下文:

android:contentDescription="@{account.getContentDescription(context)}"
 类似资料:
  • 如何在android中使用数据绑定将图像资源放入中? 我想要一个图像,如果挂起是真的,另一个图像,如果挂起是假的。但是它显示错误。我如何实现这个功能?

  • 我试图使用数据绑定将可提取的资源ID设置为ImageView的Android:src 下面是我的目标: 它根本不显示图像。我做错了什么? 顺便说一句,它完美地使用了标准方式:

  • 问题内容: 我需要能够动态设置EditText的height属性。我在整个应用程序中都将数据绑定用于其他属性,因此,我希望能够使用数据绑定来控制元素的高度。这是我的xml的精简版本: 这是我的视图模型的精简版: 尺寸在dimens.xml文件中。我正在修改视图模型中的属性。但是,当我启动该应用程序时,我在启动后立即收到以下错误消息(bindingadapter不会在调试时触发)。我在屏幕上还有其他

  • 问题内容: 我有一个JSON URL :: JSON STRUCT :: RestaurantDescPhotos.java RestaurantDescPhotos.xml ImageLoader.java 我在XML中有一个imageview 如何设置JSONURL的图像视图 我已经编码了该类的某些部分,但是试图知道如何设置imageview 有任何想法吗 问题答案: 您可以使用ImageLo

  • 我想将图标设置为,我从这个网站下载了图标:FlatIcon 现在我想设置此图标的颜色,但当使用时,只需为背景添加颜色,而不是设置为图标! 当使用时,我可以用此代码设置图标的颜色:。 如何将图标的颜色设置为,例如?谢谢大家

  • 在使用新的数据绑定api时,我发现无法绑定到“style”属性。编译器抱怨找不到样式。然而,如果我简单地将样式设置为原样,它会发现它很好。例如: 不工作: 作品: 错误: 错误:任务“:app:compiledBugJavaWithJavaC”的执行失败。 JAVAlang.RuntimeException:发现数据绑定错误。****/数据绑定错误****msg:标识符必须具有XML文件中的用户定