我使用的是TextWatcher,所以当我开始在编辑文本中键入某些内容时,它显示了所有的大写字母,但我需要添加一个功能,当我按下ENTER时,在输入所有内容时都应该使用小写字母。我该怎么做?
这里是文本处理程序
scene.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 arg0) {
String s=arg0.toString();
if(!s.equals(s.toUpperCase()))
{
s=s.toUpperCase();
scene.setText(s);
scene.setSelection(scene.getText().length());
}
}
}); 下面是处理ENTER事件的代码
scene.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER)) {
String s = scene.getText().toString();
s=s+'\n';
scene.setText(s);
scene.setSelection(scene.getText().length());
ib2(scene);
return true;
}
return false;
}
});发布于 2013-10-23 07:23:22
我想你需要toLowerCase
String input = "Cricket!";
String upper = input.toUpperCase(); //stores "CRICKET!"
String lower = input.toLowerCase(); //stores "cricket!"在您的onKey方法中这样做
String s = scene.getText().toString();
s=s.toLowerCase();
scene.setText(s);更新您的setOnKeyListener方法如下
scene.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER)) {
String s = scene.getText().toString();
s=s.toLowerCase();
scene.setText(s);
scene.setSelection(scene.getText().length());
ib2(scene);
return true;
}
return false;
}
});https://stackoverflow.com/questions/19535160
复制相似问题