4000 listview 中edittext无法调出输入框
2015-12-12 14:38
288 查看
在ListView中,每次弹出软键盘后就会重新调用getView()方法,导致EditText失去焦点。
解决办法:在getView()方法中添加监听器:
并且在getView方法结束前为EditText添加焦点:
但是这样,又会有新的问题出现,EditText中的光标停在最前面,并且不闪动,点击软键盘输入任何东西也不会在EditText中显示,这样,就要在EditText获得焦点后再做一个处理:
解决办法:在getView()方法中添加监听器:
editText.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_UP) { index = position; } return false; } });
并且在getView方法结束前为EditText添加焦点:
editText.clearFocus(); if (index != -1 && index == position) { // 如果当前的行下标和点击事件中保存的index一致,手动为EditText设置焦点。 editText.requestFocus(); }
但是这样,又会有新的问题出现,EditText中的光标停在最前面,并且不闪动,点击软键盘输入任何东西也不会在EditText中显示,这样,就要在EditText获得焦点后再做一个处理:
editText.setSelection(editText .getText().length());
相关文章推荐
- 返回到某个VC 的方法
- 剑指offer系列之三十六:数字在排序数组中出现的次数
- Unicode(UTF-8, UTF-16)令人混淆的概念
- Eclipse不能不说的秘密:远程Debug
- hdoj--2098--分拆素数和(水题)
- Jsp实现文件上传(无依赖jar包)
- 【相册】华为手机调用系统相册的问题
- 常用PHP设计模式
- zoj 1403
- HAProxy出现"远程主机强迫关闭了一个现有的连接 " 的错误及解决
- hdoj--2098--分拆素数和(水题)
- 线程的两种实现方法
- PHP中的HTML5应用 将Canvas图像保存到服务器
- AC自动机入门
- JSON转为字符串,字符串转为JSON格式
- 迟到的开始
- 我所了解的cgi
- Ubuntu14.04如何备份和恢复系统
- 静态方法的使用2——与实例化方法的区别
- 用户及权限管理