In Android EditText, how to force writing uppercase?

前端 未结 23 1818
后悔当初
后悔当初 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:52

    You can used two way.

    First Way:

    Set android:inputType="textCapSentences" on your EditText.

    Second Way:

    When user enter the number you have to used text watcher and change small to capital letter.

    edittext.addTextChangedListener(new TextWatcher() {
    
        @Override
        public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {            
    
        }
            @Override
        public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                        int arg3) {             
        }
        @Override
        public void afterTextChanged(Editable et) {
              String s=et.toString();
          if(!s.equals(s.toUpperCase()))
          {
             s=s.toUpperCase();
             edittext.setText(s);
             edittext.setSelection(edittext.length()); //fix reverse texting
          }
        }
    });  
    

提交回复
热议问题