将edittext中的文本数限制为13位android

时间:2016-05-15 18:56:49

标签: java android

如何确保在此edittext上输入的文本只是13digits。这是我的尝试,但用户可以输入5位数,但我想要13位数

<EditText
        android:id="@+id/phone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="phone"
        android:maxLength="13"
        android:layout_below="@+id/TextView01"
        android:layout_centerHorizontal="true"
        android:ems="10"/>

更新的代码

final EditText phone = (EditText)findViewById(R.id.phone);

            InputFilter[] filterArray = new InputFilter[1];
            filterArray[0] = new InputFilter.LengthFilter(11);
            phone.setFilters(filterArray);

if(Double.parseDouble(phone.getText().toString()) > 11)
            {
                //the above if text always fails
            }

1 个答案:

答案 0 :(得分:2)

我不确切地知道你想做什么,但也许你可以尝试下列之一:

  1. 不要使用setText,除非edittext.getText()。length()== 13(因为我认为你会在某个时刻设置它)。如果它不是你想要的长度,你可以显示一条消息,让我们说
  2. 在edittext上添加TextWatcher(通过onTextChangedListener)并跟踪用户输入