使用双向绑定格式化编辑文本文本

时间:2019-06-05 17:53:45

标签: android android-databinding

我对编辑文本的文本属性使用双向绑定

  

android:text =“ @ = {model.price}”

然后在模型类中,我正在执行以下操作:

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();
     }
  }
}

这正在创建一种无限循环,打开屏幕时,我的编辑文本中有无限的$。

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

1 个答案:

答案 0 :(得分:0)

这对我有用:

  

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();
      }
    }