Wows, this is weirdly difficult, I'm sure there's a reason Google designed it this way, but I'm at a loss to come up with one. I've managed to accomplish it with in-line java:
#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);
BA.Log(">= 11 set");
} else {
v.setRawInputType(InputType.TYPE_NULL);
v.setFocusable(true);
BA.Log("< 11 set");
}
}
#END IF
To call it from your code, you'll need a Process_Globals variable:
Sub Process_Globals
Private NativeMe As JavaObject
End Sub
Then modify your Activity_Create:
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("layTest") 'contains 'EditText1' which is declared in my globals
If FirstTime Then
NativeMe.InitializeContext
End If
End Sub
Then at some point before you display the edittext box:
NativeMe.RunMethod("disableSoftKeyboard", Array As Object(EditText1))
I can't test the < 11 SDK method as I don't have a functioning device with that low of OS build on it right now.