当前位置:编程学习 > wap >>

和ListView适配器有关的数据切换问题,求助

我在sqlite数据库中存放了一个星期的课程数据,通过sql语句返回Cursor后,封装到List<HashMap<String,Object>>对象中,在页面中的ListView显示,现在能实现查询当天数据.如何实现点击下一天或上一天,来动态切换ListView的数据?
public void onClick(View v) {
if (v.getId() == R.id.image_pre) {
c.add(Calendar.DATE, -1);
}
if (v.getId() == R.id.image_next) {
c.add(Calendar.DATE, 1);
}

}
我把adapter.notifyDataSetChanged();写在按钮事件处理中也不行.
然后想着是不是界面要重新载入一下,但是界面重新载入后在按钮事件中的日期修改也就不起作用了.
--------------------编程问答-------------------- 参考
c.moveToNext
c.moveToPrevious --------------------编程问答-------------------- 首先,谢谢回复.我可能把问题没描述完整.我在数据库访问层(好像可以这么说吧)写了增删改查等方法,其中"查"这个方法的返回值不是游标而是List<HashMap<String,Object>>对象,所以在Activity中调用查询方法时,已经关闭数据库对象了,查过来的数据应该算是个数据包了.上一天或下一天的数据可以查出来,现在的问题是在界面点击事件后怎么刷新ListView中的数据.刚看了一个方法好像是在事件中再获得ListView.... --------------------编程问答--------------------
引用 1 楼  的回复:
参考
c.moveToNext
c.moveToPrevious


首先,谢谢回复.我可能把问题没描述完整.我在数据库访问层(好像可以这么说吧)写了增删改查等方法,其中"查"这个方法的返回值不是游标而是List<HashMap<String,Object>>对象,所以在Activity中调用查询方法时,已经关闭数据库对象了,查过来的数据应该算是个数据包了.上一天或下一天的数据可以查出来,现在的问题是在界面点击事件后怎么刷新ListView中的数据.刚看了一个方法好像是在事件中再获得ListView.... --------------------编程问答-------------------- 如果我没看错的话,楼主写的适配器中的数据(一天的课程)应该是List<HashMap<String,Object>>中的一个HashMap<String,Object>,
有个思路,楼主试试:
在适配器里追加一个变量作为list的游标,通过该游标确认当前的listview显示哪数据list中的哪个HashMap。

在activity的button的监听事件内,更变上边的游标值至你想显示的那天,
然后调用activity的listview的notifyDataSetInvalidated()方法,即可刷新listView显示


写得又点乱。楼主请担待!
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,