android当listview中数据较多,而屏幕较小时,如何获取ListViw中的所有数据

穿梭时光 2017-07-18 11:35:55
ListView中有一个TextView和EditText,屏幕只能显示6行,要求获取每行textview的值,以及对应的edittext中修改后的值,点击保存按钮时,全部保存在一个map<String,String>集合中,但是通过listview,getcount只能获取当前显示的,无法正确实现保存。以下是我的代码
int childCount =listview.getChildCount();
for (int i = 0; i < childCount; i++) {
View view = listview.getChildAt(i);
TextView tv = (TextView) view.findViewById(textID);
EditText et = (EditText) view.findViewById(editTextID);
String myFieldName = tv.getText().toString();
String fieldVales = et.getText().toString();
map.put(myFieldName, fieldVales);

}
(此方式只能保存显示在屏幕上的数据)

采用listview.getAdapter.getView方式,只能获取事先存放在list中的数据,修改edittext中的数据后,获取不到新的数据


请问有什么解决办法么,谢谢
...全文
391 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_34734841 2017-09-18
  • 打赏
  • 举报
回复
请问一下楼主textID是什么,怎么不是R.id.textID
qq_34734841 2017-09-18
  • 打赏
  • 举报
回复
感谢你给我提供的思路,互助共赢
qq_34734841 2017-09-18
  • 打赏
  • 举报
回复
使用getcount就行了
zhaomissnan 2017-07-20
  • 打赏
  • 举报
回复
et .addTextChangedListener 在数据变化把listview.getAdapter.getView里面对应的postion的值给改了,最后直接去listview.getAdapter.getView里的值
穿梭时光 2017-07-19
  • 打赏
  • 举报
回复
效果还是一样的
寒冰大神 2017-07-19
  • 打赏
  • 举报
回复
et .addTextChangedListener 在数据变化时保存。 可以直接写在adapter里

80,348

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧