2012-04-09 63 views
3

Eclipse編輯不能識別的inputType在現場,當我把它稱爲「numberPassword」,下面的代碼:Eclipse在設置爲Android 4.0時不能識別numberPassword?

<EditText 
    android:id="@+id/pin_field" 
    android:layout_width="236dp" 
    android:layout_height="wrap_content" 
    android:inputType="numberPassword"> 

    <requestFocus /> 
</EditText> 

這是我得到的錯誤「安卓的inputType」行:

"error: Error: String types not allowed (at 'inputType' with value 'numberPassword')." 

而在頂部的「圖形佈局」選項卡中,我已將版本從2.3.3更改爲Android 4.0,我讀過的版本可能會修復它,但似乎沒有奏效。我可能錯過了一些明顯的東西,但無法弄清楚。

下面是的inputType的Android文檔和 'numberPassword':http://developer.android.com/reference/android/R.attr.html#inputType

+1

項目的Android構建目標設置爲4.0? – dispake 2012-04-27 18:25:28

+0

你可以發佈AndroidManifest文件嗎? – dcanh121 2012-04-27 19:19:33

+0

API級別設置爲14,現在我將發佈清單。 – Peanut 2012-04-27 20:58:08

回答

1

Dispake的評論給了我,我需要

線索

「項目的Android構建目標設定爲4.0?」

我在Manifest文件中將minSdk設置爲API級別14,這是4.0和正確的,這讓我發現真正的問題。我將Eclipse中的項目構建目標設置爲2.3.3,需要將其更改爲4.0。

+0

2.3.3更改爲什麼? – 2013-07-16 11:11:01

+0

@Noob先生我認爲它是4.0所需的numberPassword。 – Peanut 2013-07-16 14:08:37

+0

乾杯兄弟。它只適用於Android 3.0及以上版本:)再次感謝 – 2013-07-17 12:02:45

3
<EditText 
    android:id="@+id/pin_field" 
    android:layout_width="236dp" 
    android:layout_height="wrap_content" 
    android:inputType="number" 
    android:password="true" 
    <requestFocus /> 
</EditText> 

試試上面的代碼,而不是你的代碼

,或者您可以通過代碼動態設置如下

editText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD); 

更新:: 通過代碼集InputFilter像下面接受只有字母或數字或兩者都

edittext.setFilters(new InputFilter[] { 
    new InputFilter() { 
     public CharSequence filter(CharSequence src, int start, 
       int end, Spanned dst, int dstart, int dend) { 
      if(src.equals("")){ // for backspace 
       return src; 
      } 
      if(src.toString().matches("[a-zA-Z0-9 ]+")){ 
       return src; 
      } 
      return ""; 
     } 
    } 
}); 

請儘快測試!

+0

我認爲這種方法意味着你得到了。 #等在我不希望我的應用程序的一面。無論如何,我已經提高了,因爲我認爲你的方法在將來有用:password =「true」位。 – Peanut 2012-04-30 13:55:46

+0

那麼你需要什麼? – 2012-04-30 16:12:05

+0

我需要「numberPassword」字段來工作,因爲我在問題中說明。我可以過濾輸入,但當Android已經提供沒有任何鍵盤的數字時,我並不想這樣做。沒有任何數字的鍵盤就是我想要的。你的代碼可能會工作,但事實證明,問題在於我爲項目設置了錯誤的構建級別,這些項目在評論中指出了錯誤,所以他解決了我的問題。無論如何,感謝你的幫助,如果dispake沒有發佈他的答案,你仍然可以得到一半的獎金。 – Peanut 2012-04-30 17:02:16