0

私は 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;
            }

        });
4

1 に答える 1

2

小文字にする必要があると思います

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;
            }

        });
于 2013-10-23T07:23:22.300 に答える