In Android EditText, how to force writing uppercase?

前端 未结 23 1830
后悔当初
后悔当初 2020-11-27 12:28

In my Android application I have different EditText where the user can enter information. But I need to force user to write in uppercase letters. Do you know a

23条回答
  •  盖世英雄少女心
    2020-11-27 12:37

    Android actually has a built-in InputFilter just for this!

    edittext.setFilters(new InputFilter[] {new InputFilter.AllCaps()});
    

    Be careful, setFilters will reset all other attributes which were set via XML (i.e. maxLines, inputType,imeOptinos...). To prevent this, add you Filter(s) to the already existing ones.

    InputFilter[] editFilters = .getFilters();
    InputFilter[] newFilters = new InputFilter[editFilters.length + 1];
    System.arraycopy(editFilters, 0, newFilters, 0, editFilters.length);
    newFilters[editFilters.length] = ;  
    .setFilters(newFilters);
    

提交回复
热议问题