2012-03-23 66 views
0

在我的應用程序中,在一個活動中,我有4個編輯文本字段和一個按鈕。僅在輸入所有4個編輯文本字段的數據後,纔會提交數據。如果其中一個爲空,則顯示一個警告對話框,說明我的自定義錯誤消息。現在在活動中,如果我點擊編輯文本並按鍵盤上的任意鍵,文本不會被編輯文本。Android - 編輯文本...從鍵盤輸入不被接受

如果你遇到類似的問題,請不要讓我在這裏

<EditText 
     android:id="@+id/first_field" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/TextView01" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="6dp" 
     android:layout_marginLeft="20dp" 
     android:layout_marginRight="20dp" 
     android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&apos;." 
     android:gravity="left|center" 
     android:hint="First Name" 
     android:imeOptions="actionNext" 
     android:inputType="text" 
     android:textSize="11sp" 
     android:typeface="sans" > 
    </EditText> 

know.enter代碼在onclick事件

first_field = (EditText)findViewById(R.id.first_field); 

     InputFilter[] filter = new InputFilter[1]; 
     filter[0] = new InputFilter.LengthFilter(24); 
     first_field.setFilters(filter); 

java文件

在onCreate方法按鈕

NumberKeyListener keyListener1 = new NumberKeyListener() { 

       public int getInputType() { 
       return InputType.TYPE_CLASS_TEXT; 
       } 

       @Override 
       protected char[] getAcceptedChars() { 
       return new char[] { '.','‘' }; 
       } 
      }; 
      first_field.setKeyListener(keyListener1); 
+0

你的代碼請 – 2012-03-23 07:14:51

回答

1

我評論了Onclick方法中的這部分代碼,它工作正常。

 NumberKeyListener keyListener1 = new NumberKeyListener() { 
      public int getInputType() { 
      return InputType.TYPE_CLASS_TEXT; 
     } 
      @Override 
     protected char[] getAcceptedChars() { 
     return new char[] { '.','‘' }; 
     } 
    }; 
    first_field.setKeyListener(keyListener1); 
0

editText in change u pot inputtext = true

+7

我不明白你在說什麼 – Prem 2012-03-23 07:23:02

1

我相信你需要在你的xml定義中指定android:editable。 根據setFilters方法,它「設置緩衝區爲可編輯時將使用的輸入過濾器列表」。