使用两种方式绑定格式化编辑文本文本

Formatting edit text text with two way binding

我正在使用两种方式绑定编辑文本 属性 如下所示

android:text="@={model.price}"

然后在模型中 class 我正在做以下事情:

public class CreateCourse extends BaseObservable {

 private String price = "";

@Bindable
public String getPrice() {
    return "$ " + price;
}

public void setPrice(String price) {

    if(this.price != price)
    {
        this.price = price;

        notifyPropertyChanged(BR.price);
        enableButton();
     }
  }
}

这造成了一种无限循环,当我打开屏幕时,我的编辑文本中出现了无限 $。

因此,如果这不起作用,我们如何使用双向绑定格式化编辑文本字符串

这对我有用:

private String price = "$ ";

然后在setter方法中:

public void setPrice(String price) {

    if(!this.price.equals(price))
    {
        if(price.isEmpty())
            this.price = "$ ";
        else
        this.price = price;

        notifyPropertyChanged(BR.price);
        enableButton();
      }
    }