关于ListView中EditText点击弹出软键盘及软键盘弹出后的焦点问题
来源:互联网 发布:泰格软件 编辑:程序博客网 时间:2024/05/13 11:12
今天项目购物车要改成可以点击输入购买件数,一开始一直弹不出软键盘,焦点也有问题,百度了下,看到别人是这么解决的
在ListView中,每次弹出软键盘后就会重新调用getView()方法,导致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());
这样,问题就很好的解决了。
如果问题软键盘弹不出 检查布局文件是否设置了
android:descendantFocusability="beforeDescendants"
另外,我的购物车件数加减是要调接口改变数据库数量的,虽然我很不解为什么后台要怎么做,但还是按照他的想法来吧,所以,怎么知道输入已经完成了呢?我是通过这样解决的
tv_count.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE){ MyUtils.hideSoftKeyboard(context,tv_count); submitNum(model.getGood_id(), Integer.parseInt(tv_count.getText().toString()),true,tv_count); tv_count.clearFocus(); return true; } return false; }});
到此,这个功能就完成了
0 0
- 关于ListView中EditText点击弹出软键盘及软键盘弹出后的焦点问题
- 关于ListView中EditText在软键盘弹出后的焦点问题
- popupwindow中EditText获取焦点后自动弹出软键盘
- popupwindow中EditText获取焦点后自动弹出软键盘
- popupwindow中EditText获取焦点后自动弹出软键盘
- popupwindow中EditText获取焦点后自动弹出软键盘
- popupwindow中EditText获取焦点后自动弹出软键盘
- Android 点击listView的item弹出软键盘并且EditText获取焦点
- Android 中使 EditText 失去焦点,禁止弹出软键盘,及 弹出软键盘后 EditText 自动上移 不致被遮挡
- edittext不弹出软键盘 及 弹出软键盘后,把整个布局顶起来的问题
- edittext不弹出软键盘 及 弹出软键盘后,把整个布局顶起来的问题
- 解决点击edittext时有时无法弹出软键盘的问题
- EditText 获取焦点后禁止弹出软键盘
- EditText 获取焦点后禁止弹出软键盘
- EditText获取焦点并弹出软键盘
- edittext获取焦点并弹出软键盘
- 关于EditText获得焦点不弹出软键盘
- EditText焦点问题:进入app之后,就弹出软键盘
- ORACLE 11g RAC部署GRID过程中遇到的问题总结
- EL表达式
- Java——分页
- Ryan的OC学习总结-----2 OC中的面向对象特性
- 期末答辩结束开启新的历程
- 关于ListView中EditText点击弹出软键盘及软键盘弹出后的焦点问题
- leetcode: Majority Element
- 闲暇博客
- 线程死锁问题
- 软中断\tasklet\工作队列
- MP 新版本 [3 mysql sequelize 数据库到前端页面渲染]
- 移出元素 Remove Element
- matlab的regionprops详解
- 【bzoj3205】[Apio2013]机器人 斯坦纳树