I like every time user enter a letter into edit text, to convert the letter into upper case. Here is my code:
 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    test = (EditText) findViewById(R.id.test);
    test.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            beforeStr = s.toString();
        }
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
                char current = s.charAt(before);
                newCurrent += String.valueOf(current).toUpperCase() + beforeStr;
        }
        @Override
        public void afterTextChanged(Editable s) {
            test.setText(newCurrent);
        }
    });
}
setText method calls again and again all the methods from TextWatcher and my converting never ends.
Could somebody help me?
 
     
    