How to capitalize every letter in an Android EditText?

后端 未结 10 1765
离开以前
离开以前 2021-01-07 17:41

I have an array of editTexts which I make like this:

        inputs[i] = new EditText(this);
        inputs[i].setWidth(376);
        inputs[i].setInputType(         


        
10条回答
  •  误落风尘
    2021-01-07 18:40

    For some reason adding the xml did not work on my device.

    I found that a Text Filter works for to uppercase, like this

        EditText editText = (EditText) findViewById(R.id.editTextId);
    
        InputFilter toUpperCaseFilter = new InputFilter() {
            public CharSequence filter(CharSequence source, int start, int end,
                                       Spanned dest, int dstart, int dend) {
    
                StringBuilder stringBuilder = new StringBuilder();
    
                for (int i = start; i < end; i++) {
                    Character character = source.charAt(i);
                    character = Character.toUpperCase(character); // THIS IS UPPER CASING
                    stringBuilder.append(character);
    
                }
                return stringBuilder.toString();
            }
    
        };
    
        editText.setFilters(new InputFilter[] { toUpperCaseFilter });
    

提交回复
热议问题