AndroidのEditText制御はスペースと車の返却を禁止します.

5552 ワード

-------------転載は出典を明記してください:http://blog.csdn.net/android_cll
1.EdiTtext入力ボックスの制御はスペースを入力できません.EditTextにaddText ChangedListenerの傍受を追加します.スペースsplit傍受があれば、forループを傍受し、スペースを含まない文字列配列を並べ直します.この文字列はスペースを含まないです.最後にこの文字列をEditTextに書き直します.この時、カーソルは自動的に最初の位置に移動します.オンText Chengedにstartという変数があります.彼はこのスペースの入力前のカーソル位置に入ってきます.Edit Text.sets Select(int)はカーソルの位置を変えます.
具体的なコード:
private EditText edittextcll;//    
edittextcll = (EditText) findViewById(R.id.edittextcll);
//           
edittextcll.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];
            }
            edittextcll.setText(str1);

            edittextcll.setSelection(start);

        }

    }

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

    }

    @Override
    public void afterTextChanged(Editable s) {
    }
});
2.EditText制御は回車を入力できません.xmlにandroidを追加します.single Line=「true」、
    android:id="@+id/edittextcll"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:background="@null"
    android:gravity="top"
    android:hint="        "
    android:singleLine="true"
    android:textColor="#262626"
    android:textSize="16dp" />
--------------------------------大神は噴かないでください.噴かないでください.