android edittext 大写,如何在EditText中大写字母?

我有简单的

Edittext

当我要更改i m设置监听器中的输入字母时

new textWatcher

它是

onTextChanged()

方法如下:

@Override

public void onTextChanged(CharSequence s, int start, int before, int count) {

Log.d("qwer", "onTextChanged: " + s + " " + start + " " + before + " " + count);

String originalText = s.toString();

int originalTextLength = originalText.length();

int currentSelection = textHeading.getSelectionStart();

StringBuilder sb = new StringBuilder();

boolean hasChanged = false;

for (int i = 0; i < originalTextLength; i++) {

char currentChar = originalText.charAt(i);

if (isAllowed(currentChar) && i < 21) {

sb.append(currentChar);

} else {

hasChanged = true;

textHeading.setError("Please insert current letters");

}

}

if (hasChanged) {

String newText = sb.toString();

textHeading.setText(capitalize(newText));

textHeading.setSelection(currentSelection);

}

}

当我将验证数据设置回EditText时,循环就开始了,因为它调用方法

ontextCahnged()

再一次。所以我的目标是动态地改变输入字母,我必须将其大写。我知道有更简单的方法可以做到。但我需要这样做。

你可能感兴趣的:(android,edittext,大写)