Android EditText能输入不能删除解决方案

有些比较老的api的项目可能会出现 在Android的EditText控件中能输入,不能删除文本,我提供一个解决方案,

 1 /**
 2      * 2016-07-04 17:17:02 By LDC 软键盘事件 解决键盘删除无效
 3      * 
 4      * @param keyCode
 5      * @param event
 6      * @return
 7      */
 8     @Override
 9     public boolean onKeyDown(int keyCode, KeyEvent event) {
10         // TODO Auto-generated method stub
11         switch (keyCode) {
12         // 回车
13         case KeyEvent.KEYCODE_ENTER:
14             Toast.makeText(getApplicationContext(), "无需回车", Toast.LENGTH_SHORT).show();
15             break;
16         // 删除健
17         case KeyEvent.KEYCODE_DEL:
18 
19             if (cusname.hasFocus() == true && !cusname.getText().toString().isEmpty()) {// 是否回去焦点
20 
21                 cusname.setText(cusname.getText().toString().substring(0, cusname.getText().toString().length() - 1));//删除字符串
22                 cusname.setSelection(cusname.length());// 设置光标位置<在文本末尾>
23 
24             } else if (cusmemo.hasFocus() == true && !cusmemo.getText().toString().isEmpty()) {// 是否回去焦点
25 
26                 cusmemo.setText(cusmemo.getText().toString().substring(0, cusmemo.getText().toString().length() - 1));//删除字符串
27                 cusmemo.setSelection(cusmemo.length());// 设置光标位置<在文本末尾>
28             }
29 
30             break;
31 
32         default:
33 
34             break;
35         }
36 
37         return super.onKeyDown(keyCode, event);
38     }
提示!在EditText不能为空进行删除操作,否则报错!!

 

posted @ 2016-07-25 10:56  DigitalKing  阅读(2393)  评论(0)    收藏  举报