EditTextはスペースの入力とリターンを禁止しています

1270 ワード

EditTextでは、スペースの入力は許可されず、車に戻ることは許可されません.
    1.スペースの入力は許可されていません.ここでは、EditTextに入力リスニングを追加します.
//           
editText.addTextChangedListener(new TextWatcher() {

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

        if (s.toString().contains(" ")) {
            String[] str = s.toString().split(" ");
            String str1 = "";
            for (int i = 0; i < str.length; i++) {
                str1 += str[i];
            }
            et_content.setText(str1);
            et_content.setSelection(start);

        }

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count,
                                  int after) {

    }

    @Override
    public void afterTextChanged(Editable s) {
    }
});

    2.値がEditorInfoに等しい場合、リターンキーを使用する動作識別子を取得することは許されない.IME_NULLの場合、リターンキーが押され、イベント処理が行われます.
//      
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        return event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER);
    }
});