`

【android】listview动态更新(与数据库之间的交道)

阅读更多
自己转战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开发中,将数据库中的数据展示在ListView上是一项常见的任务。这通常涉及到与后端服务器的交互,数据的获取,以及数据适配器的使用。以下是对这一过程的详细阐述: 首先,我们需要建立Android应用与后台...

    Android ListView动态查询更新代码

    本文将深入探讨如何实现Android ListView的动态查询和更新功能。 1. **ListView基础** - `Adapter`:ListView的核心在于适配器(Adapter),它负责将数据源与ListView的视图进行绑定。 - `ViewHolder`:为了优化...

    Android ListView控件显示数据库中图片

    Android ListView 控件显示数据库中图片 Android ListView 控件是 Android 开发中常用的控件之一,但是在创建 ListView 时,总是感觉步骤繁琐,这里对其进行总结,方便查阅。程序的效果是实现一个显示联系人的简单...

    android listview 动态适应高度问题

    在Android开发中,ListView是经常用来展示大量数据的视图组件。然而,当ListView的数据项数量不确定,或者每个数据项的高度不固定时,如何让ListView动态适应屏幕高度,避免出现滚动条异常或内容显示不全的问题,就...

    android ListView 动态添加删除

    ListView通过Adapter与数据源进行绑定,Adapter负责将数据转化为ListView可显示的View。在Android中,常见的Adapter有BaseAdapter、ArrayAdapter和CursorAdapter等。在这个场景中,我们可能选择BaseAdapter,因为它...

    android ListView 动态追加数据

    通过以上步骤,我们可以实现Android ListView的动态追加数据及显示追加进度的功能。在实际项目中,还可以根据需求进行定制,例如添加动画效果,使用户体验更加流畅。记住,始终关注性能优化,以确保应用的流畅性和...

    Android listview动态加载不同布局

    "Android listview动态加载不同布局"这一主题,主要涉及如何在ListView中根据不同的数据类型或者状态显示不同的视图(View)布局,提升用户体验并优化性能。 首先,要实现ListView动态加载不同布局,我们需要理解...

    android listview 下拉刷新 动态加载数据 图文混排

    在`loadMoreData()`方法中,你需要实现实际的网络请求或数据库查询,获取更多数据,并更新Adapter的数据源和ListView。注意,为了避免一次性加载过多数据,可以采用分页加载的方式,每次只加载一定数量的新条目。 ...

    Android_ListView动态刷新

    ### Android ListView 动态刷新详解 在Android应用开发中,`ListView`是显示大量数据集的常用组件之一,尤其在需要展示列表项时非常实用。然而,在数据集更新时,如何实现实时或动态地刷新`ListView`,是开发者经常...

    android的listview嵌套listview,列表嵌套列表 android studio版本

    ListView通过Adapter来获取并展示数据,Adapter是连接数据源与ListView的桥梁。在Android Studio中,我们通常会创建一个自定义的Adapter,继承自BaseAdapter或者ArrayAdapter,重写其方法以提供数据和视图的绑定。 ...

    ListView动态添加、移除item

    总结,动态添加和移除ListView的item是Android开发中常见的需求。通过理解ListView的工作原理,结合Adapter和数据源的管理,我们可以实现流畅且高效的列表操作。同时,利用优化技巧和动画效果,可以提升用户交互体验...

    listview实现动态加载

    - Adapter是ListView与数据源之间的桥梁,它负责将数据转化为ListView能理解的View。常见的Adapter有ArrayAdapter、SimpleAdapter等,自定义Adapter可以根据需求定制每个列表项的视图。 3. **ViewHolder模式**: ...

    Android ListView边框圆角美化

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...

    Android ListView 下拉刷新、上拉加载

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。`下拉刷新`和`上拉加载`功能的实现,极大地提升了用户体验,让用户能够实时获取到最新的数据。本篇文章将深入探讨如何在ListView中实现这两种...

    Android listview自动换行

    在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。它的高效性和可滚动性使得它在显示数据集合时十分有用。然而,当ListView的子项(item)宽度超过屏幕宽度时,如何实现自动换行就成了一个...

    kotlin+SQLite+ListView实现简单的数据库操作

    本教程将探讨如何使用Kotlin与SQLite结合,通过ListView展示数据,实现简单的数据库操作。 首先,我们需要在Kotlin项目中添加SQLite库的支持。在`build.gradle`模块文件中,添加以下依赖: ```groovy dependencies ...

    android listview显示数据库中内容

    在Android开发中,...通过以上步骤,你就可以成功地在Android的ListView中显示数据库中的内容了。这不仅可以提高用户体验,还能方便地管理和操作数据。记住,理解并熟练运用这些知识点是Android开发中的基础技能。

    android读取sqlite数据库的数据并用listview显示

    在Android开发中,SQLite是一个内置的轻...这个示例对于理解Android中SQLite与ListView的交互非常有帮助,可以作为开发类似功能的基础模板。记得在实际项目中处理异常,优化数据库操作,并根据需求调整Adapter的实现。

    Android利用listview控件操作SQLite数据库实例

    在本实例中,首先我们利用SQLiteOpenHelper类建立一个数据库,并写好增、删、查等方法,通过SimpleCursorAdapter连接listview实现数据库的增加、查询以及长按删除的功能。 首先,我们先认识一下什么是...

    ListView中动态添加数据

    总结,动态添加数据到Android的ListView涉及以下几个关键步骤:创建数据模型,实现自定义Adapter,设置ListView和Adapter,向数据源添加新数据并通知Adapter,以及考虑性能优化措施。通过熟练掌握这些技巧,开发者...

Global site tag (gtag.js) - Google Analytics