我怎麼能「setInputType」歡迎使用屬性添加到EditTextPreference(我的目標是設置輸入類型只有數字),我已經試過:setInputType上EditTextPreference
editTextPref.setInputType(InputType.TYPE_CLASS_NUMBER);
但這只是似乎工作對於EditTexts,不EditTextPreferences
我怎麼能「setInputType」歡迎使用屬性添加到EditTextPreference(我的目標是設置輸入類型只有數字),我已經試過:setInputType上EditTextPreference
editTextPref.setInputType(InputType.TYPE_CLASS_NUMBER);
但這只是似乎工作對於EditTexts,不EditTextPreferences
您可以在首選項,並從那裏setInputTypes或使用KeyListeners檢索的EditText通知鍵盤:
EditText et = (EditText) editTextPref.getEditText();
et.setKeyListener(DigitsKeyListener.getInstance());
試試這個
如果您真正需要的是您的editTextPreference的單個inputType,您可以在android:inputType =「number」或android:inputType =「numberDecimal」的XML中設置它。
實施例:
<EditTextPreference
android:defaultValue="130"
android:dialogMessage="@string/upper_limit_hint"
android:dialogTitle="@string/upper_limit_text"
android:inputType="number"
android:key="UPPER_LIMIT"
android:maxLength="4"
android:summary="@string/upper_limit_hint"
android:title="@string/upper_limit_text" />
另外,感謝名單給Dave的建議以上,我能夠通過分配給EditTextPreference一個TextView編程實現這個(我無法使用一個EditText)。
實施例:
EditTextPreference editTextPreference = (EditTextPreference) preference;
TextView etpTextView = (TextView) editTextPreference.getEditText();
// If I want entry with decimal capability
etpTextView.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
// or if I want entry without decimal capability
etpTextView.setInputType(InputType.TYPE_CLASS_NUMBER);