android 数据库添加数据后 怎么在客户端listView上更新数据
android数据库添加数据后怎么在客户端listView上更新数据求主要代码怎么来刷新listView我用的是BaseAdapter...
android 数据库添加数据后 怎么在客户端listView上更新数据 求主要代码 怎么来刷新listView
我用的是BaseAdapter 展开
我用的是BaseAdapter 展开
3个回答
展开全部
如下:
final SimpleAdapter adapter = new SimpleAdapter(this, getData(),
R.layout.mainlayout, new String[] { "text", "time", "image" },
new int[] { R.id.PL_TextView01, R.id.PL_TextView02,
R.id.PL_ImageView01 });
lv.setAdapter(adapter);
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
Cursor cur = DR.query("DB", new String[] { "text", "time" }, null,
null, null, null, "time desc");
while (cur.moveToNext()) {
for (int i = 0; i < cur.getCount(); i++) {
cur.moveToPosition(i);
String text = cur.getString(0);
String time = cur.getString(1);
map = new HashMap<String, Object>();
map.put("text", text);
map.put("time", time);
map.put("image", R.drawable.ic_menu_close_clear_cancel);
list.add(map);
}
}
return list;
}
使用SimpleAdapter 作为listview的适配器 通过数据的query方法 将数据放入listview
final SimpleAdapter adapter = new SimpleAdapter(this, getData(),
R.layout.mainlayout, new String[] { "text", "time", "image" },
new int[] { R.id.PL_TextView01, R.id.PL_TextView02,
R.id.PL_ImageView01 });
lv.setAdapter(adapter);
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
Cursor cur = DR.query("DB", new String[] { "text", "time" }, null,
null, null, null, "time desc");
while (cur.moveToNext()) {
for (int i = 0; i < cur.getCount(); i++) {
cur.moveToPosition(i);
String text = cur.getString(0);
String time = cur.getString(1);
map = new HashMap<String, Object>();
map.put("text", text);
map.put("time", time);
map.put("image", R.drawable.ic_menu_close_clear_cancel);
list.add(map);
}
}
return list;
}
使用SimpleAdapter 作为listview的适配器 通过数据的query方法 将数据放入listview
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-11-16
展开全部
是自己的Sqlite数据库?还是用的ContentProvider?
你可以试下把初始化ListView的代码提取成一个方法,然后在添加数据的方法后面调用一下这个方法来刷新ListView。
如果是用的ContentProvider,你注册一个ContentObserver.
你可以试下把初始化ListView的代码提取成一个方法,然后在添加数据的方法后面调用一下这个方法来刷新ListView。
如果是用的ContentProvider,你注册一个ContentObserver.
追问
mysql
追答
那位朋友说的方法,是用CursorAdapter适配器的用的吧。
你就用我的说的第一种重新调用初始化LISTVIEW的方法试下,应该可以的,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-11-16
展开全部
adapter.notifyDataSetChanged();
更多追问追答
追问
不行
追答
你更新了ListView的数据后再调用这个代码依然不行?重新设置一下适配器试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询