安卓 EditText在用软键盘编辑点击删除键时程序无故闪退
2016-02-02 14:44
579 查看
产生原因:尚不明确,个人猜测是软键盘的删除键的命名规则和安卓底层的某个命名冲突,导致程序无端闪退,而且不打印闪退的日志,所以无从解决bug
解决方法:代码主动的去监听软键盘的删除键的事件,核心代码如下:
解决方法:代码主动的去监听软键盘的删除键的事件,核心代码如下:
private int num = 0; //监听软键盘的删除键 et_name_fragmentmine.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DEL) { num++; //在这里加判断的原因是点击一次软键盘的删除键,会触发两次回调事件 if (num % 2 != 0) { String s = et_name_fragmentmine.getText().toString(); if (!TextUtils.isEmpty(s)) { et_name_fragmentmine.setText("" + s.substring(0, s.length() - 1)); //将光标移到最后 et_name_fragmentmine.setSelection(et_name_fragmentmine.getText().length()); } } return true; } return false; } });
相关文章推荐
- HYSBZ/BZOJ 1007 [HNOI2008] 水平可见直线 - 计算几何
- JAVA并发编程——守护线程(Daemon Thread)
- 数据抽取2
- mybatis log4j 设置
- java的各类容器
- SpringMvc中ajax后台可以收到请求,前台依旧报错
- 明解C语言1-9
- Security View Usage
- 利用photoshop的动作功能实现图片批处理操作
- Web 系统打印插件——jqprint
- objective-c 中随机数的用法 (rand()、arc4random() 、random()、CCRANDOM_0_1() )
- Beyond Compare软件使用教程
- Skip List(跳跃表)原理详解与实现
- Linux系统下自行编译安装MySQL及基础配置全过程解析
- 内存映射文件原理探索
- 避免Android中Context引起的内存泄露
- tolua namespace
- 创建异步的NSOperation
- 明解C语言1-8
- [转]jquery.vTicker(垂直滚动)