Disable soft keyboard on NumberPicker Disable soft keyboard on NumberPicker android android

Disable soft keyboard on NumberPicker


Just found this and it works like a charm:

myNumberPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);

You can also set this in XML:

android:descendantFocusability="blocksDescendants" 


Xml version of Andrew Webber's answer

android:descendantFocusability="blocksDescendants"

Example

<NumberPicker        android:id="@+id/your_numberpicker"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:descendantFocusability="blocksDescendants"/>


After reading through the com/android/internal/widget/NumberPicker.java source code i got to the following solution:

// Hide soft keyboard on NumberPickers by overwriting the OnFocusChangeListenerOnFocusChangeListener fcl = new OnFocusChangeListener() {    public void onFocusChange(View v, boolean hasFocus) {        // Do nothing to suppress keyboard    }};((EditText) numberPicker.getChildAt(1)).setOnFocusChangeListener(fcl);// Suppress soft keyboard from the beginning((EditText) numberPicker.getChildAt(1)).setInputType(InputType.TYPE_NULL);