场景描述:正常情况下,当点击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());

http://blog.csdn.net/android_ls/article/details/8642751

05-08 15:08