Android ListView中嵌套EditText,随着软件盘的出现和消失,EditText焦点和内容混乱的问题
来源:互联网 发布:淘宝改评价步骤 编辑:程序博客网 时间:2024/05/29 07:15
这是小小Android程序员的我,发表的第一篇博客,若有什么不足,请提出来,谢谢。若资料,代码涉嫌抄袭的,也请提出来,一定删改~~~
- 今天项目里需要实现一个功能,就是类似于京东app评论那块。评论嘛,需要加上评论图片可以理解,但每张图片都要加上一个小的描述,感觉有点晕。当然心想这个可以有ScrollView
- LinearLayout,动态添加ImagView + EditText嘛。然后不知哪个筋抽了,选了ListView + ImageView +
EditText这种方法,恨不得抽自己一巴掌。。。当然,刚做出来效果很不错,当点击EditText,编写内容时,随着软键盘的弹出,消失,弹出,消失。。。尼玛,直接蒙了,好吧,当软键盘弹出和消失时,ListView的Adapter的getView会重绘。此时会出现两个问题:
- LinearLayout,动态添加ImagView + EditText嘛。然后不知哪个筋抽了,选了ListView + ImageView +
1、当点击第一次,EditText有焦点嘛,随着软键盘出来,我们往往会直接输入内容,此时无法输入内容,因为EditText失去了焦点。
2、第一个问题,可以点两下EditText来解决,勉强勉强还能接受,那么这个就接受不了了,内容会消失,这尼玛就忍不了了,内容消失会死人的。
- 为了解决这两个问题,百度了下,
http://blog.csdn.net/xiaanming/article/details/8536231
这篇博客的哥们说了下,看着感觉有点复杂,而且感觉有两个Bug,可能是我水平差,自己玩死自己,那就描述下我碰到的问题。
1、若ListView中有很多个EditText的话,当弹出软键盘后,输完第一个EditText,不缩软键盘回去,滚动ListView,滚到第二个EditText,再编写内容,好了,在第一个和第二个EditText之间来回滚动,当然两个距离要超出屏幕,并切换EditText焦点,期间软键盘不缩回去,那么两个EditText内容就会混乱。
2、写完最后一个EditText后,即使软键盘缩回去,最后一个焦点也不会消失。然后ListView上下滚动时,有时会因为最后一个EditText有焦点,而快速滚动最后一个item。(新的解决方法也解决不了,各位大神告知,如何解决)
废话太多了,简单的解决办法是,参考国外大牛的思路~
holder.editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus) { EditText etxt = (EditText) v; holder.editText.setText(etxt.getText().toString()); } } });
没错,只需要添加这一段代码就行了,其他爱干嘛干嘛。本人拙略地分析下,为EditText设置焦点改变监听,当EditText失去焦点时,为它设置编写的内容,这样焦点就不会消失了~~太拙略了~
不管怎样,还是建议用scrollview搭配吧,毕竟这个没这么多事,当然,若添加很多很多,那就药丸。
当然,若想看ScrollView+LinearLayout这个解决方案,请看
http://blog.csdn.net/u012361647/article/details/50275641
本文为博主原创文章,未经博主允许不得转载。
- Android ListView中嵌套EditText,随着软件盘的出现和消失,EditText焦点和内容混乱的问题
- Android RecyclerView 中多Item的EditText监听 和 EditText焦点混乱的解决方法
- 关于ListView和EditText的焦点问题
- listview和edittext焦点问题
- android listview 每一项都是edittext 导致的坑爹问题 内容的保存和焦点,光标位置的设置
- EditText焦点问题 Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法
- Android—在listview中edittext获取焦点的问题
- 在ListView中嵌套EditText,EditText内容过多需要滚动的问题
- Android EditText得到和失去焦点、内容变化的监听
- ListView中item点击事件和item中radiobutton的点击editText输入焦点问题
- Android ListView/recyclerView条目中EditText容易失去焦点的问题和取出横向时上下滚动有阴影
- Android EditText 软键盘和焦点问题
- 【Android】ListView中EditText焦点问题
- 【Android】ListView中EditText焦点问题
- 【Android】ListView中EditText焦点问题
- 【Android】ListView中EditText焦点问题
- android ListView嵌入EditText焦点和值错误问题
- android 解决EditText无法失去焦点和失去焦点后隐藏软键盘的问题
- 单机版hadoop搭建
- Android CircularFloatingActionMenu在ScrollView这样的滚动View中使用(2)
- AAARedis 缓存 + Spring 的集成示例(以非XML方式配置,多了一个缓存接口)
- java基础第六天——继承以及抽象类相关的知识
- 一款炫酷Loading动画--加载成功
- Android ListView中嵌套EditText,随着软件盘的出现和消失,EditText焦点和内容混乱的问题
- ubuntu里安装VMTools的方法
- 深入理解ANGULAR中的$APPLY()以及$DIGEST()
- 孤儿进程与僵尸进程
- Linux基础指令(一)
- c++ float精度丢失
- UVa12118:Inspector's Dilemma
- 怎样设计一个运行日志服务
- 基于rails的schedule网站开发(4):git 存档记录