如何限制文本输入长度,而不是长度本身?

时间:2018-12-05 17:08:56

标签: android input dropdown autocompletetextview maxlength

我正在使用AutoCompleteTextView,我的目标是允许用户仅输入4个符号,然后从下拉列表中选择一个项目。

1 个答案:

答案 0 :(得分:0)

您可以使用setFilters()

以编程方式限制长度
 ArrayAdapter<String> My_arr_adapter= new ArrayAdapter<String>(getContext(),android.R.layout.simple_dropdown_item_1line,items);
        autoCompleteTextView.setThreshold(2);
        autoCompleteTextView.setAdapter(My_arr_adapter);
        autoCompleteTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
                autoCompleteTextView.setFilters(new InputFilter[]{ new InputFilter.LengthFilter(255) });
                 autoCompleteTextView.setText(     (String)arg0.getItemAtPosition(arg2));
                autoCompleteTextView.setFilters(new InputFilter[]{ new InputFilter.LengthFilter(4) });



            }
        });
        autoCompleteTextView.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
             if (charSequence.length()==4){
                 autoCompleteTextView.setFilters(new InputFilter[]{ new InputFilter.LengthFilter(4) });

             }
            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });

希望有帮助

相关问题