关于listview的加载刷新疑问

SUMI_SUMI 2016-01-07 08:09:18

//在oncreat中
private List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
private List<Map<String, Object>> data2 = new ArrayList<Map<String, Object>>();


for (int i = 1; i < 25; i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("str", "str" + i);
map.put("str2", "str2" + i);
map.put("data", "TTTTT");
data.add(map);
}
lv.setAdapter(new SimpleAdapter(this, data, R.layout.list_item, new String[] {
"str", "str2", "data"
}, new int[] {
R.id.tv_time, R.id.tv_data, R.id.tv_company
}));

然后在oncreat的按键事件中添加刷新数据

data2.clear();
String[] strArray1 = (RecDatalist2.get(3)).split(",");
int k = strArray1.length;
for (int i = 0; i < k/2; i++) {
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("str", strArray1[i*2]+"开始");
map2.put("str2", strArray1[i*2+1]);
map2.put("data", "数据");
data2.add(map2);
}

2个疑问
1.我在debug中 能看到data的数据 但是data2的数据是空
2.如何刷新lv
...全文
133 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
haha_321 2016-01-08
  • 打赏
  • 举报
回复
引用 3 楼 SUMI_SUMI 的回复:
[quote=引用 1 楼 haha_321 的回复:] 1,你可以看看你的for是否满足条件,是否向data2中添加数据 2. 可以调用adapter的notifyDataSetChanged() ,可以通过listview.getAdapter 先获取adaper
1.for循环执行进去了 map2都能看到值[/quote] 到data2.add(map2);就不行了?这个你的好好看看你的代码逻辑
SUMI_SUMI 2016-01-07
  • 打赏
  • 举报
回复
引用 2 楼 cs22707 的回复:
data2不是列表的数据原,给他添加数据无法更新列表吧。
实际上我data.clear(); 然后给data重新添加数据 debug查看data也是null= =! 很奇怪
SUMI_SUMI 2016-01-07
  • 打赏
  • 举报
回复
引用 1 楼 haha_321 的回复:
1,你可以看看你的for是否满足条件,是否向data2中添加数据 2. 可以调用adapter的notifyDataSetChanged() ,可以通过listview.getAdapter 先获取adaper
1.for循环执行进去了 map2都能看到值
cs22707 2016-01-07
  • 打赏
  • 举报
回复
data2不是列表的数据原,给他添加数据无法更新列表吧。
haha_321 2016-01-07
  • 打赏
  • 举报
回复
1,你可以看看你的for是否满足条件,是否向data2中添加数据 2. 可以调用adapter的notifyDataSetChanged() ,可以通过listview.getAdapter 先获取adaper

80,490

社区成员

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

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