这一段写一个小程序,有某个界面需要编辑较多的数据,于是用了一个Listview,将EditText放进去用来做编辑控件,遇到了下面的情况:
1.屏幕内容滚动时会调用ListView的Adapter的getView()重新产生View,这就要求及时保存EditText中的数据,不然会丢失,使用了Listener监听EditText的TextChange,但是发现Listener经常不被调用,跟踪发现在getView()中创建的Edittext和ListView中用来显示的EditText句柄不一样
。
2.再次就是当软键盘弹出后,焦点从当前输入的EditText丢失,移动了第一个EditText上,屏幕直接来个大滚屏。。。根本没法使用。
观察手机上的联系人,也是一列EditText,就没有这些现象,直接打开源码去看。
里面互相引用,看的头大,开始带着印象去找其布局中使用的ListView,居然没找到,一头雾水。直到吃饭时才猛然反应过来,看到了ScrollView,其使用的是
ScrollView+竖向LineLayout,一下把这些问题都避免了。只是LineLayout中的内容是动态生成的。
遂改。
Listview的demo文件改的惨不忍睹,日后整理了再上传。
结论:当界面元素不多时可以使用ScrollView+linearLayout来实现ListView效果。
当包含的元素很多,每个元素的界面又在不停改变或者元素的数量在动态改变时就只能用ListVIew了。
分享到:
相关推荐
android listview带有editText的情况,解决editText的焦点问题,及数据错位问题。后2个包没用。
android listview中有edittext的demo
android开发中ListView中改变EditText值的实现,值得学习。
Android开发中,有时会碰到ListView中含有EditText的需求,但是EditText这种控件在ListView进行滑动的时候,或者新数据被添加的时候,数据会丢失,解决方法就是,时刻保存数据,详情请看代码
Android完美解决listview中多个edittext显示混乱问题,内含源码及apk文件
Android实战运用中可能有很多地方会用到ListView,更为复杂的是每个item嵌入了多个Edittext,给我们造成很大的困扰,本资源就是为大家提供一个简单的参考,希望对大家有所帮助
listView中嵌套EditText,动态获取EditText中的值
安卓自定义ListView中含有EditText控件的解决方法
Android 解决在ListView历史复用中Edittext数据显示混乱
x宝买的关于解决Android-listview中多个edittext显示混乱问题,源码+APK。
Android 修复ListView复用时的Edittext显示混乱问题,修复此问题的方法,在ListView中,每个条目都有Edittext,需要把每个Edittext输入的数据保存到对应的bean中,很快写了代码,没想到最 终的显示却很混乱,后来...
即在EditText中输入好友名字,ListView列表中动态展示刷选的好友列表。我把这个功能抽取出来了,先贴一下效果图: 分析 在查阅资料以后,发现其实Android中已经帮我们实现了这个功能,如果你的ListView使用的是...
android EditText ListView进行检索排序
Listview条目里面放EditText,解决编辑数据后,上下滑动数据错乱的问题
Android ListView EditText批量录入功能,自定义键盘。
解决Android的ListView里面多套item内含多个EditText数据混乱问题
基于gradle7.0.0,java移动开发+android+listView+EditText+实现搜索ListView功能,基于TextWatcher的onTextChanged,beforeTextChanged,afterTextChanged进行搜索功能的函数filterData的执行,并在合适的位置如:...
Android开发之ListView+EditText焦点问题解决方案.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android中ListView每个条目中有EditText,右下角监听现实剩余输入数字.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android开发之ListView+EditText焦点问题解决方案