自己转战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() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
selectedID = position;
int i = sca.getCursor().getColumnIndex("_id");
// System.out.println("id:"+cur.getString(i));
delID = cur.getString(i);
}
});
下面是最重要的动态更新:
delete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.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});
}
分享到:
相关推荐
在Android开发中,将数据库中的数据展示在ListView上是一项常见的任务。这通常涉及到与后端服务器的交互,数据的获取,以及数据适配器的使用。以下是对这一过程的详细阐述: 首先,我们需要建立Android应用与后台...
本文将深入探讨如何实现Android ListView的动态查询和更新功能。 1. **ListView基础** - `Adapter`:ListView的核心在于适配器(Adapter),它负责将数据源与ListView的视图进行绑定。 - `ViewHolder`:为了优化...
Android ListView 控件显示数据库中图片 Android ListView 控件是 Android 开发中常用的控件之一,但是在创建 ListView 时,总是感觉步骤繁琐,这里对其进行总结,方便查阅。程序的效果是实现一个显示联系人的简单...
在Android开发中,ListView是经常用来展示大量数据的视图组件。然而,当ListView的数据项数量不确定,或者每个数据项的高度不固定时,如何让ListView动态适应屏幕高度,避免出现滚动条异常或内容显示不全的问题,就...
ListView通过Adapter与数据源进行绑定,Adapter负责将数据转化为ListView可显示的View。在Android中,常见的Adapter有BaseAdapter、ArrayAdapter和CursorAdapter等。在这个场景中,我们可能选择BaseAdapter,因为它...
通过以上步骤,我们可以实现Android ListView的动态追加数据及显示追加进度的功能。在实际项目中,还可以根据需求进行定制,例如添加动画效果,使用户体验更加流畅。记住,始终关注性能优化,以确保应用的流畅性和...
"Android listview动态加载不同布局"这一主题,主要涉及如何在ListView中根据不同的数据类型或者状态显示不同的视图(View)布局,提升用户体验并优化性能。 首先,要实现ListView动态加载不同布局,我们需要理解...
在`loadMoreData()`方法中,你需要实现实际的网络请求或数据库查询,获取更多数据,并更新Adapter的数据源和ListView。注意,为了避免一次性加载过多数据,可以采用分页加载的方式,每次只加载一定数量的新条目。 ...
### Android ListView 动态刷新详解 在Android应用开发中,`ListView`是显示大量数据集的常用组件之一,尤其在需要展示列表项时非常实用。然而,在数据集更新时,如何实现实时或动态地刷新`ListView`,是开发者经常...
ListView通过Adapter来获取并展示数据,Adapter是连接数据源与ListView的桥梁。在Android Studio中,我们通常会创建一个自定义的Adapter,继承自BaseAdapter或者ArrayAdapter,重写其方法以提供数据和视图的绑定。 ...
总结,动态添加和移除ListView的item是Android开发中常见的需求。通过理解ListView的工作原理,结合Adapter和数据源的管理,我们可以实现流畅且高效的列表操作。同时,利用优化技巧和动画效果,可以提升用户交互体验...
- Adapter是ListView与数据源之间的桥梁,它负责将数据转化为ListView能理解的View。常见的Adapter有ArrayAdapter、SimpleAdapter等,自定义Adapter可以根据需求定制每个列表项的视图。 3. **ViewHolder模式**: ...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。`下拉刷新`和`上拉加载`功能的实现,极大地提升了用户体验,让用户能够实时获取到最新的数据。本篇文章将深入探讨如何在ListView中实现这两种...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。它的高效性和可滚动性使得它在显示数据集合时十分有用。然而,当ListView的子项(item)宽度超过屏幕宽度时,如何实现自动换行就成了一个...
本教程将探讨如何使用Kotlin与SQLite结合,通过ListView展示数据,实现简单的数据库操作。 首先,我们需要在Kotlin项目中添加SQLite库的支持。在`build.gradle`模块文件中,添加以下依赖: ```groovy dependencies ...
在Android开发中,...通过以上步骤,你就可以成功地在Android的ListView中显示数据库中的内容了。这不仅可以提高用户体验,还能方便地管理和操作数据。记住,理解并熟练运用这些知识点是Android开发中的基础技能。
在Android开发中,SQLite是一个内置的轻...这个示例对于理解Android中SQLite与ListView的交互非常有帮助,可以作为开发类似功能的基础模板。记得在实际项目中处理异常,优化数据库操作,并根据需求调整Adapter的实现。
在本实例中,首先我们利用SQLiteOpenHelper类建立一个数据库,并写好增、删、查等方法,通过SimpleCursorAdapter连接listview实现数据库的增加、查询以及长按删除的功能。 首先,我们先认识一下什么是...
总结,动态添加数据到Android的ListView涉及以下几个关键步骤:创建数据模型,实现自定义Adapter,设置ListView和Adapter,向数据源添加新数据并通知Adapter,以及考虑性能优化措施。通过熟练掌握这些技巧,开发者...