How to show the numeric keypad
I read several other posts and using input.setInputType(T开发者_如何学运维YPE_NUMBER_FLAG_DECIMAL); does open the keyboard but its not the numeric keyboard
Is there a trick to this?
give
android:inputType="number"
inside your xml file
Edit: "Number" does not work, changed to "number" (lowercase N)
a) in xml
android:numeric="decimal"
b) in code
EditText editView = new EditText(this);
editView.setKeyListener(new DigitsKeyListener());
In your xml, you have to do this:
android:inputType="Number"
In your code, do:
editText.requestFocus();
Then:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
Took me many days to figure this out. I even tried editText.performClick(); Not working.
To pop up a numeric keyboard on start of the activity i used following steps:
Created edit text field in layout as:
<EditText
...
android:inputType="number"
... />
In function onCreate() show soft keyboard
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
Most important is to give focus to edit text in onResume method.
@Override
public void onResume() {
super.onResume();
editText.setFocusableInTouchMode(true);
editText.requestFocus();
}
I found two easy ways to do it, add one of them to EditText block in XML file:
- Numeric dial keyboard pad
android:inputType="phone"
android:digits="1234567890"
- Numeric section of keyboard
android:inputType="number"
精彩评论