我有一个整数值:10000,我想将其作为100.00绑定到接口。
android:text="@{BigDecimal(viewModel.transactionDetail.transaction.amount).toString()}"
答案 0 :(得分:-1)
数据绑定不是用于在视图内部实现逻辑,而是 提供了将视图附加到数据模型的功能。
如果使用控制器/处理程序,则可以在其中放置转换逻辑。请参见data binding documentation,您将始终在其示例中看到处理程序。
使用处理程序,您可以在处理程序中编写转换逻辑。
<variable
name="handler"
type="com.package.MainHandler"/>
android:text="@{handler.getAmountInDollar(transaction.amount)}"
在您的活动/片段中
binding.setHandler(new Handler());
在处理程序中
public String getAmountInDollar(int amount) {
return new DecimalFormat("##.##").format(amount);
}
如果您仍然不使用演示者,则可以这样做。
public class Transaction {
private int amount;
public String getAmountInDollar() {
return new DecimalFormat("##.##").format(amount);
}
}
现在您可以这样做
android:text="@{transaction.amountInDollar}"
这就是您应该这样做的方式。