Привязка данных не предназначена для реализации логики внутри представления, она предусмотрена для присоединения представления к моделям данных.
Если вы используете контроллеры / обработчики, вы можете поместить туда свою логику преобразования.См. документацию по привязке данных , вы всегда увидите обработчики в их примерах.
Путь 1
Используя обработчик, вы можете написать свою логику преобразования в обработчике.
<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);
}
Способ 2
Если вы по-прежнему не используете Presenter, вы можете сделать это.
public class Transaction {
private int amount;
public String getAmountInDollar() {
return new DecimalFormat("##.##").format(amount);
}
}
Теперь вы можете сделать это
android:text="@{transaction.amountInDollar}"
Вот как вы должны это сделать.