В вашем методе oncreate вы можете поместить этот блок кода:
final EditText myEditJava = (EditText) findViewById(R.id.myEdit);
myEditJava.addTextChangedListener(new TextWatcher() {
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void afterTextChanged(Editable s) {}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.toString().matches("((-|\\+)?[0-9]+(\\.[0-9]+)?)+"))
myEditJava.setInputType(InputType.TYPE_CLASS_PHONE);
else
myEditJava.setInputType(InputType.TYPE_CLASS_TEXT);
}
});
Поэтому, когда вы ставите первый символ, если он будет числовым значением, клавиатура будет отображаться в режиме ввода чисел, иначев режиме ввода текста.