所以我一直在尝试实现Android的TextWatcher,并遇到一些问题与多次调用TextChangedListener或进入无限循环,因为我想转换文本EditText小部件转换为货币格式的字符串。删除TextChangedListener然后重新添加它
我做了什么来解决,这是创建自己的自定义TextWatcher然后在afterTextChanged事件不喜欢的东西下面
public class CurrencyTextWatcher implements TextWatcher {
private EditText et;
public CurrencyTextWatcher(EditText editText) {
et = editText;
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
public void afterTextChanged(Editable s) {
et.removeTextChangedListener(this);
et.setText(myCurrencyString);
et.addTextChangedListener(this);
}
}
所以我的问题是,是否有这样做的更好的办法?我想让一个EditText Widget保存编辑的位置以及生成的格式化字符串。
实际上还有其他的问题是关于删除然后添加一个TextChangedListener像这样?
在此先感谢
啊,完美..不能相信我没有想到这一点。谢谢 – Jason