android在点击EditText的时候始终不弹出软件键盘

时间:2022-01-15 15:57:30
场景描述:正常情况下,当点击EditText时,软键盘会弹出来。现在的要求是当点击EditText时,弹日期选择对话框,选择的结果显示在EditText上。若不处理,当点击EditText时,软键盘和对话框都会弹出,显然用户会感觉到不爽。解决办法,当点击EditText时:1、存储当前的输入类型2、设置输入类型为InputType.TYPE_NULL,禁止手机软键盘3、还原原来的输入类型,因为这次操作完,还要允许用户修改。4、弹出日期选择对话框,操作完后将结果显示到EditText上。隐藏软件盘,代码如下:
  EditText et_start_time = (EditText) this.findViewById(R.id.et_start_time);
int inType = et_start_time.getInputType();
et_start_time.setInputType(InputType.TYPE_NULL);
et_start_time.onTouchEvent(event);
et_start_time.setInputType(inType);
et_start_time.setSelection(et_start_time.getText().length());