我想通过在android中的edittext视图中输入文本来替换(。)和(,)运行时。 我使用textwatcher但它无法帮助我。
答案 0 :(得分:1)
使用以下afterTextChanged将TextChangedListener添加到EditText:
public void afterTextChanged(Editable s) {
double doubleValue = 0;
if (s != null) {
try {
doubleValue = Double.parseDouble(s.toString().replace(',', '.'));
} catch (NumberFormatException e) {
//Error
}
}
//Do something with doubleValue
}
答案 1 :(得分:0)
试试这个
textMessage.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {
s.toString().replace(".",",");
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){}
});
答案 2 :(得分:0)
从afterTextChanged()
更改文本会导致无限循环,因为它会触发自身。
所以,你有两个选择:
- 首先是根据答案here
禁用文本更改侦听器,更改文本然后重新启用它- 第二个是在实际更改之前检查文本是否需要更改,因此只会在第一次更改时调用它。