如何在android中的Edittext View中输入文本时替换(。)到(,)?

时间:2015-02-20 15:03:39

标签: android android-edittext

我想通过在android中的edittext视图中输入文本来替换(。)和(,)运行时。 我使用textwatcher但它无法帮助我。

3 个答案:

答案 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

禁用文本更改侦听器,更改文本然后重新启用它

- 第二个是在实际更改之前检查文本是否需要更改,因此只会在第一次更改时调用它。