所以我一直在嘗試實現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