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)はカーソルの位置を変えます.
具体的なコード:
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" />
--------------------------------大神は噴かないでください.噴かないでください.