ListView的item中包含EditText问题

需求:

这几天做项目遇见了一个需求,在listview的某一个item中包含一个editText,而其他地方都是Textview。在包含editText的item点击,弹出键盘,可以输入文字。其他包含TextView的item,点击,跳转或者弹popupwindow。

思路:

使用Textview 和EditText gone和显示来实现功能。

问题:

点击editText,键盘弹出,又立马消失。

解决过程:

调试过程,发现listview的适配器的getView 方法重复走了很多次,且远多于item的条数。同时如果键盘弹出不会遮盖listview 那么键盘显示正常,输入正常。加之借鉴网上经验得知是由于键盘导致listview的重绘,重回过程中,键盘又一次失去焦点。

解决方法:

listview的height设置为match_parent or fill_parent 。然后子getView 方法里面申请焦点。就完美解决。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容