开发者

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:

  1. Numeric dial keyboard pad
        android:inputType="phone"
        android:digits="1234567890"
  1. Numeric section of keyboard
        android:inputType="number"
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜