监听editText的焦点状态,在获取焦点时设置显示键盘
et_view.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {//获取焦点 设置只可输入数字
et_view.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
showInputWindow(activity, et_view);
} else {//失去焦点 设置可输入数字和文字
et_view.setInputType(InputType.TYPE_CLASS_TEXT);
}
}
});
public static void showInputWindow(Activity activity, EditText editText) {
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
editText.requestFocus();
InputMethodManager manger= (InputMethodManager)
activity.getSystemService(Context.INPUT_METHOD_SERVICE);
manger.showSoftInput(editText, 0);
}