Android中的EditText?

时间:2010-11-02 10:23:33

标签: android android-edittext

有没有办法限制在运行时只能在EditText输入2位数字。

例如:

如果我设置我的android:inputType="numberDecimal"并且我输入了它的值。它接受值123.000000000000。但我想限制它像123.00

有没有可能的方法呢?

2 个答案:

答案 0 :(得分:6)

看一下以下帖子,可能对你有所帮助:

Preventing input

EditText txtInput = (EditText) findViewById(R.id.txtInput);
txtInput.addTextChangedListener(new TextWatcher() 
{
    public void afterTextChanged(Editable edt) 
    {
        String temp = edt.toString();
        int posDot = temp.indexOf(".");
        if (posDot <= 0) return;
        if (temp.length() - posDot - 1 > 2)
        {
            edt.delete(posDot + 3, posDot + 4);
        }
    }

    public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {}

    public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {}
});

答案 1 :(得分:2)

您可以使用TextWatcherEditText添加验证。