我喜欢每次用户输入一个字母到编辑文本中,将字母转换为大写。这里是我的代码:动态设置字母为大写android
@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方法一次又一次地调用TextWatcher的所有方法,我的转换永远不会结束。
有人能帮助我吗?
试试这个http://stackoverflow.com/a/25571410/1680426 –