4

私のAndroidプロジェクトでは、EdittextにはAlphanumericの文字しか入力できないように制限されています。 soft keypadに示すI]タブSpace Barは、それがBackSpaceボタンとして機能し、EditText内の文字を削除している場合は、このコードを使用している間、私はこのAndroidスペースバーが動作しない

<EditText 
      android:id="@+id/edt_text" 
      android:layout_width="140dp"  
      android:layout_height="wrap_content"         
      android:layout_margin="5dp"             
      android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" 
      android:ems="10" 
      android:imeOptions="actionNext" 
      android:maxLength="8" 
      android:padding="5dp" 
      android:singleLine="true" /> 

を達成するためのコードスニペットの下に使用してきた。しかし。誰でもこの問題を解決するために私を助けてください。

+0

私はEdittext'私はこれを使用する必要が – Jamal

答えて

0

スペースバーにスペースを作成させ、それをプログラムで削除することはどうですか?

1

このRegExを使用すると、英数字の場合はtrueを返し、そうでない場合はfalseを返します。

public boolean isAlphaNumeric(String s){ 
    String pattern= "^[a-zA-Z0-9]*$"; 
     if(s.matches(pattern)){ 
      return true; 
     } 
     return false; 
} 
+0

'で' Space'を必要としない、あなたはそれを手の込んだことができますか? – Jamal

+0

if(isAlphaNumeric(getUserName))ここで、getUserNameは、ユーザーがEditTextで入力したStringです。 –

1

また、このプログラムを処理することもできます。

mEditText1.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      if (s.equals(" ")) { 
       mEditText1.getText().toString().trim(); 
      } 
     } 

     @Override 
     public void afterTextChanged(Editable s) { 

     } 
    }); 

私はあなたを助けてくれることを願っています。 :)

0

私はそれが非常に遅すぎることは知っていますが、問題はあなたが設定したinput数字制限にあります。

sample

関連する問題