自己转战android已经有一段时间了。废话不多说了,开始吧。
listview大家应该不陌生。现在我将自己遇到的动态更新问题进行总结一下。
上代码是最好的。
listview绑定simplecursoradapter
        ListView lv = (ListView) this.findViewById(R.id.listView);                SimpleCursorAdapter sca = new SimpleCursorAdapter(this, R.layout.listmsg, cur, new String[]{"_id","name","val"},         new int[]{R.id.textViewID,R.id.textViewName,R.id.textViewVal});        lv.setAdapter(sca);

cur的代码:
Cursor cur = dao.show();

public Cursor show(){db = dbh.getReadableDatabase();Cursor cur = db.query("person",null, null, null, null, null, null);//cur.close();return cur;}

其中layout的listmsg中三个控件R.id.textViewID,R.id.textViewName,R.id.textViewVal;
数据库中"_id","name","val"(建议大家主键都采用_id的形式,原因我似乎不太记得了,我还做过测试,android的默认主键就是_id)
然后是listview的点击事件,这个事件最重要的是找到删除的_id。
代码如下:
        lv.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {// TODO Auto-generated method stubselectedID = position;int i = sca.getCursor().getColumnIndex("_id");//System.out.println("id:"+cur.getString(i));delID = cur.getString(i);}                });


下面是最重要的动态更新:
        delete.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubSystem.out.println(selectedID+1);dao.redelete(delID);cur.requery();sca.notifyDataSetChanged();selectedID = 99999;}});

redelete的代码:
public void redelete(String s){db = dbh.getWritableDatabase();db.delete("person", "_id=?", new String[]{s});}




更多相关文章

  1. Android(安卓)px和dip及sp的区别及转换代码
  2. android从相册中选择报无法加载照片
  3. Android(安卓)抢购类倒计时实现 (包括天数,小时,分钟,秒)
  4. Android+JNI调用–文件操作
  5. Android(安卓)中文API (91) ―― GestureDetector
  6. Android(安卓)SDK代理服务器解决国内不能更新下载问题
  7. android事件分发机制的实现原理
  8. android截图代码
  9. 使用 kotlin 开发 android 遇到的问题

随机推荐

  1. Android(安卓)-- Activity值传递
  2. 【Android测试工具】03. ApkTool在Mac上
  3. Android的HttpURLConnection
  4. 【Android】为Android虚拟机创建SDCard
  5. Android(安卓)之Activity切换动画效果
  6. Android(安卓)解析XML 之pull
  7. 命令生成和运行android项目
  8. Android数据存取之Files
  9. 用android build system 编译自己的init
  10. unityd 公布android apk相关