2016-11-14 45 views
0

EditTextに3つのアルファ値と4桁の数字を入力する必要があります。例:ABC1234。だから私は3つのアルファを入力したときに自動的に入力タイプをテキストから電話に変える必要があります。私は次のコードを思いついたが、それは電話の入力タイプとテキストタイプに変更されていないので、テキストの長さは変わらない。3つの英数字と4桁を入力するEditText - 入力タイプを動的に変更します。

editText.addTextChangedListener(new TextWatcher() { 
     public void afterTextChanged(Editable s) { 
      String text = editText.getText().toString(); 
      if(text.length()==1 || text.length()==2 || text.isEmpty()){ 
       editText.setRawInputType(InputType.TYPE_CLASS_TEXT); 
       System.out.println("Length Text type : " + text.length()); 

      }else{ 
       editText.setRawInputType(InputType.TYPE_CLASS_PHONE); 

       System.out.println("Length phone type : " + text.length()); 

      } 
     } 

私は間違っています。

答えて

1

setRawInputType()は、通常、カスタムビューのコンストラクタまたはアクティビティのonCreate()メソッドでビューを初期化するときに使用されます。

ソフトキーボードのモードを変更する場合は、setInputType()に電話する必要があります。

+0

パーフェクト。ありがとう、それは動作します。 – Suranga

+0

ええ、7分待たなければならない:) – Suranga

関連する問題