首页 > 解决方案 > 无法在 xml 中将 double 转换为 int

问题描述

安卓工作室 3.6

数据绑定

<SeekBar
            android:id="@+id/seekBar"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:max='@{model.maxDiscountBonuses}'
            android:progress="@{(int) model.discountBonuses}"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/currentBonusesTextView" />

但我得到错误。

model.discountBonuses如何在 xml 中将double ( ) 转换为 int?

标签: androidandroid-databinding

解决方案


你应该像这样尝试

<data>
    <import type="java.lang.Integer"/>
</data>

<SeekBar
    android:id="@+id/seekBar"
    android:layout_width="0dp"
    android:layout_height="40dp"
    android:max='@{model.maxDiscountBonuses}'
    android:progress="@{Integer.valueOf(model.discountBonuses)}"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/currentBonusesTextView" />

推荐阅读