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

最新文章

  1. 烂泥:haproxy与nginx、zabbix集成
  2. SQL Server 2008 中收缩数据库(DUMP,TRANSACTION,TRAN,无效,语法错误)
  3. 总结一下响应式设计的核心CSS技术Media(媒体查询器)的用法。(转)
  4. ubuntu解决arm-linux-gcc no such file的问题
  5. 将Session写入Memcache
  6. 拖拽js
  7. vmware workstation11虚拟机破解版(附安装教程) 32/64位
  8. win10中的vmware桥接模式异常,不能设置同网段ip
  9. Cannot drop the database ‘XXX’ because it is being used for replication.
  10. Extjs GridPanel 几点说明
  11. javascript apply()和call()
  12. 将PDF文件中按页截取,并以流的形势返回给客户端
  13. Logback分别打印info日志和error日志
  14. C# 获取字符串字节长度
  15. Prometheus Node_exporter
  16. 配置好jdk后,cmd编写java -version还是报找不到jdk
  17. matlab fopen()
  18. column count of mysql.proc is wrong. expected 20,found 16. the table is probably corruptd.
  19. asp.net c# 虾米音乐API
  20. HDU4641 || 6194多校 (后缀自动机-最少出现K次的字串个数 || 恰好出现K次字符串的个数)

热门文章

  1. mac使用sourcetree跳过注册
  2. Window10下Python3.7 安装与卸载
  3. Vs2017 FrameWork EF Mysql 控制台应用
  4. gojs Diagram Events(图表事件)
  5. Reloading current route in Angular 5 / Angular 6 / Angular 7
  6. HBuilderX 5+APP MUI 入门
  7. JAVA遇见HTML——JSP篇(JSP指令与动作元素)
  8. 基于RestOn智能睡眠监测器的睡眠监测系统
  9. request.querystring和request.form的区别
  10. Java8-Lock-No.01