You can also disable the keyboard with Java. I do this as I only run my own custom keyboard and sofar this has always worked fine.
In a B4XPages project you will need this code:
In Main:
B4X:
#IF JAVA
import android.widget.EditText;
import android.os.Build;
import android.text.InputType;
public void disableSoftKeyboard(final EditText v) {
if (Build.VERSION.SDK_INT >= 11) {
v.setRawInputType(InputType.TYPE_CLASS_TEXT);
v.setTextIsSelectable(true);
v.setShowSoftInputOnFocus(false);
} else {
v.setRawInputType(InputType.TYPE_NULL);
v.setFocusable(true);
}
}
public static void enableSoftKeyboard(final EditText v, int iKeyBoardType) {
if (Build.VERSION.SDK_INT >= 11) {
v.setRawInputType(iKeyBoardType);
v.setTextIsSelectable(true);
v.setShowSoftInputOnFocus(true);
} else {
v.setRawInputType(iKeyBoardType);
v.setFocusable(true);
}
}
#END IF
In B4XMainPage (or where ever else):
B4X:
Sub Class_Globals
Public NativeMe As JavaObject
End Sub
Sub DisableKeyboard(edt as EditText)
If NativeMe.IsInitialized = False Then
NativeMe.InitializeContext
End If
NativeMe.RunMethod("disableSoftKeyboard", Array As Object(edt))
End Sub
DisableKeyboard will need to run for every EditText.