首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在SqliteDatabase中插入条目后未更新ListView

,可能是由于以下几个原因导致的:

  1. 数据库操作问题:首先,需要确保在插入条目后,数据库中的数据已经正确更新。可以通过查询数据库或者使用调试工具来确认数据是否被正确插入。
  2. 数据适配器问题:ListView通常使用适配器来展示数据,如果适配器没有及时更新,就无法在ListView中看到新插入的条目。确保在插入数据后,适配器的数据源已经更新。
  3. ListView刷新问题:即使数据源已经更新,ListView也需要手动刷新才能显示新的数据。可以调用适配器的notifyDataSetChanged()方法来通知ListView刷新数据。

以下是一个可能的解决方案:

  1. 确保数据库操作正确:
    • 确认插入操作是否成功,可以通过返回的插入行的ID进行判断。
    • 确认数据库中的数据是否正确更新,可以通过查询数据库来验证。
  2. 更新适配器的数据源:
    • 获取数据库中的最新数据。
    • 更新适配器的数据源,例如使用一个List来保存数据。
    • 如果使用的是自定义的适配器,确保适配器的getItemCount()方法返回正确的数据数量。
  3. 刷新ListView:
    • 在插入数据后,调用适配器的notifyDataSetChanged()方法,通知ListView刷新数据。
    • 如果ListView没有及时刷新,可以尝试调用ListView的invalidateViews()方法来强制刷新。

请注意,以上解决方案是基于Android平台的,如果是其他平台或框架,可能会有所不同。此外,具体的代码实现和相关腾讯云产品推荐需要根据具体情况进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

7.数据库、Contentobserver

MySqliteHelper.TABLE_GROUPS, values, " _id = "+groupId , null); notifyCursor(); } /** * 将会话ID和群组ID 插入到会话群组关系...不需要做任何操作,当数据库发生变化list条目也变化了,前提必须是CursorAdapter 源码: curosr 注册监听: * cursor.setNotificationUri(ctx.getContentResolver...(), uri); * SQLiteCursor --> AbstractWindowedCursor  --> AbstractCursor  *  AbstractCursor类: public...* SQLiteCursor 的requery方法: * 重新查询数据: * 执行数据观察者的notify方法 :mDataSetObservable.notifyChanged(); *...的数据  } } GroupUI 群组创建会话页,长按某一个会话添加到群组 public class GroupUI extends ListActivity implements OnItemLongClickListener

875110

【Android 应用开发】Android 数据存储 之 SQLite数据库详解

没有严格的某个字段 必须存放某个类型的数据这样的限制, 因此创建数据库 和 插入数据的时候不用关心这个列的数据类型; -- eg: SQLite可以将字符串数据放到整型字段, 但是主键id, 不能随便放其它数据...context : 上下文对象; -- 参数② resource : ListView条目的布局; -- 参数③ cursor : 从数据库表查询出来的记录; -- 参数④ string[]: 数据库中表的字段名称...异常捕获的try catch 代码块创建表, 这样操作很繁琐; SQLiteOpenHelper作用 : 该类用来管理数据库的创建 和版本更新, 通常使用其子类, 实现onCreate() 和 onUpgrade...示例程序要点解析 (1) onCreate()方法创建表 创建数据库表 : 定义一个数据库SQL语句, 之后onCreate()方法 execSQL()执行该语句; final String...db) { db.execSQL(SQL_CREATE_TABLE); } (2) 插入数据 插入内容 : 打开数据库,如果存在直接插入内容, 如果不存在就创建表插入内容; helper.getReadableDatabase

2.4K10

android ListView 的 item 插入 GridView 仿微信朋友圈图片显示。

developer/user/1148436/activities) 先上张效果图: 1,思路简述         这个肯定是要重写 baseAdapter的了,这里我分了两个数据适配器,一个是自定义的 listView...然后我们需要两个数据辅助类,类似上述,一个是专门来保存在GridView要显示的每张图片的信息,例如它的url、name、id等等,暂称该辅助类为 UserImgs,大家可以随便增删,另一个是总的专门保存...listView的item的数据,我们称它为UserInfo,这里,说明下,因为每条 item 都有一个自己的GridView,也就是说,UserInfo必须要有一个UserImgs类实例,用来存储图片信息...1 package cn.share.bananacloud.custom_listview_style; 2 3 /** 4 * Created by Administrator on...} 94 });*/ 95 }else{ // 一定要加 else 防止GridView 的数据重复显示,不同的

2.3K50

手机卫士黑名单功能(列表展示)

先把要拦截的电话号码保存到数据库,拦截模式用个字段区分,1 电话拦截,2 短信拦截,3全部拦截 新建Activity类CallSmsSafeActivity.java 新建布局文件activity_call_sms_safe.xml...列表展示所有的黑名单手机号码 布局文件添加控件,定义一个id 获取ListView对象 调用ListView对象的setAdapter()方法,参数:ListAdapter对象...autoincrement,phone varchar(20) ,mode varchar(2)) ) 重写onUpgrade()方法 dao类 db.dao包下新建一个BlackNumberDao...类 while循环Cursor对象调用moveToNext() 返回List集合 插入一条 定义方法add(),插入一条记录,参数:String电话号码,String的mode模式 调用helper对象的...getWritableDatabase()方法,获取到SQLiteDatabase对象 调用SQLiteDatabase对象的insert()方法,插入一条记录,参数:String表名,允许为null的列

62530

安卓基础干货(三):安卓数据库的学习

例如:可以Integer类型的字段存放字符串,或者布尔型字段存放浮点数,或者字符型字段存放日期型值。...listview显示数据列表的步骤: 1、布局文件添加一个listview控件 2、代码中找到这个listview控件 3、创建一个数据适配器为listview填充数据 ArrayAdapter...使用ArrayAdapter为listview填充数据的步骤: 1、布局文件添加ListView 2、代码初始化这个listview控件 3、调用listview.setAdapter()填充数据...填充数据的步骤: 1、布局文件添加ListView 2、代码初始化这个listview控件 3、调用listview.setAdapter()填充数据 //使用适配器为listview填充数据...界面的显示(重点) 步骤: 1、布局文件添加ListView 2、代码初始化这个listview控件 lv = (ListView) findViewById(R.id.lv); 3、自定义数据适配器

2.7K20

listview与SQLite结合实现记事本功能

现在删除2 3,还剩下1 4记录,当再次插入时,id会变成5,而不是2.假设在初始4条记录的基础上,把这4条记录全都删掉,再次插入时,得到的id是5....最终,笔者采用的是内容搜索的方法,从listview的每个item获取内容,然后到数据库通过内容搜索该记录,最后对其进行操作。 效果: ? ?...显示的时候更新listview @Override protected void onStart() { super.onStart(); RefreshNotesList(); } private...arg0, View arg1, int arg2, long arg3) { //获取listview此个item的内容 String content = listview.getItemAtPosition...此个item的内容 //删除该行刷新listview的内容 String content = listview.getItemAtPosition(arg2) + ""; String content1

1K20

Android小程序实现音乐播放列表

public void onCreate(SQLiteDatabase db){ //获取SQLiteDatabase对象 this.db = db; //创建表 String CREATE_TBL...int newVersion) { } } (2)创建添加音乐的AddActivity,添加界面提供两个文本框和一个按钮,用于输入音乐名和歌手名,当单击“添加”按钮时,将数据插入到表,具体代码如下:...再调用DBHelper的insert()方法将记录插入到数据库,然后跳转到QueryActivity来显示音乐列表。...DBHelper的query()方法查询数据库并返回一个Cursor游标,然后使用SimpleCursorAdapter适配器将数据绑定到ListView控件上,并在ListView控件上注册单击监听器...音乐列表单击一条记录,弹出警告对话框删除一条记录: ? 更多关于播放器的内容请点击《java播放器功能》进行学习。 以上就是本文的全部内容,希望对大家的学习有所帮助。

1.2K41

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

显示 刚刚接触android,老师给了我了几个班级信息的excel,让我做一个考勤的系统出来,本篇仅记录了真机调试下,读取已有静态数据库并显示listview。...AS创建assets文件夹并将db文件拷贝进去。 创建实体类Student。...个人,读取到ListView针对每一个Item都要要求adapter”给我一个视图”(getView),如果一个班有上亿的人要为每一个Item都新建一个视图显然是不可能的。...实际上Android为你缓存了视图,Android中有个叫做Recycler的构件,下图是他的工作原理 如果你有10亿个项目(item),其中只有可见的项目存在内存,其他的Recycler。...ListView先请求一个type1视图(getView)然后请求其他可见的项目。convertViewgetView是空(null)的。

2.2K20

移动应用常见Bug汇总及预防方法

1.4 录入字段的排序按照流程或使用习惯,字段特别多的时候需要进行分组显示 1.5 下拉框不选值的时候应该提供默认值 1.6 相同字段的录入方式应该统一(手动输入 、点选 、下拉选择、参照) 1.7 录入自动计算的字段要随着别的字段修改更新...:“(单位)” 功能问题 3.1 按钮功能的实现(如返回按钮能否返回) 3.2 信息保存提交系统给出“保存/提交成功”提示信息,并自动更新显示 3.3 所有有提交按钮的页面都要有保存按钮(每个界面风格一致...这样就能彻底删除了,然后再重新安装这个apk就没问题了 第二种(通用) -partition-size 128 Eclipse项目Target的Options添加。 5....这样的错误,这里总结两种解决方式: AndroidManifest.xml文件查看主Activity的名字前是否有'.'...解决办法 AndroidManifest.xml 添加 8.出现如下错误

1.1K21

android学习笔记----ListView和各种适配器简介

ArrayAdapter具有说明来告诉它自己如何创建列表项视图,并返回给ListView,当屏幕被占满 ListView 将停止向ArrayAdapter 寻求更多的列表项,列表项视图仅在需要时才创建... Android 适配器模式是个非常常见的模式。适配器知道数据来源是什么,例如数组或列表。...并且知道如何将每项呈现为视图,与此同时 ListView 负责屏幕上显示这些视图,检测用户的触摸手势,并跟踪用户是否位于整个列表。  ...你看过 Android 的下拉菜单吗? Android ,这些叫做 Spinner,你猜怎么着?...列表的每个条目对应于列表的一行。映射包含每一行的数据,并应包括“from“中指定的所有条目。 resource:定义此列表项视图的视图布局的资源标识符。

2.1K10

Android之ListView,AsyncTask,GridView,CardView,本地数据存储,SQLite数据库

Handler和AsyncTask为了是为了不阻塞主线程即UI线程,UI的更新只能在主线程中进行处理,所以异步处理Android开发不可免。...onPostExecute(Result):此方法主线程执行。 onProgressUpdate(Progress):使用此方法显示任务执行的进度。...关系型数据库,二维表的列为属性,称为字段;行为记录,如一对象;属性(字段)取值范围称为域。 这里我们要学会数据库,如DDL,DML等,数据定义语言和数据操作语言,创建表格和增删改查。...SQLite我们要了解认识SQLiteOpenHelper和SQLiteDatabase,并学会用。和两种方法rawQuery():用于查询和execSQL():用于增删改查。...Android提供了SQLiteDatabase创建对象,运用不用写数据库语法封装好的API类。分别用query(),insert(),delete(),update()表示。

1.2K20

安卓第九夜 狂风

描述 上一讲实现了一个类别条目页面。现在,我希望点击某个类别后,能再次以条目的方式显示所有的联系人。在这个新的条目页面,点击某个联系人后,能显示该联系人的URL指向的页面。...新的数据库查询方法 我将增加一个条目页面,用于显示某个类别下的所有联系人。在数据层面上,我需要从数据库取出某个类别下的所有联系人。...Intent放入附加数据 我希望点击类别后,能够进入显示该类别所有联系人,即启动一个新的联系人条目页面。由于类别的数目是动态变化的,我不可能为每个类别创建一个下游页面(而且这样也太麻烦了)。...安卓,一个Bundle对象即一个键值对。键是一个字符串,值是任意可以打包的对象(parcelable object)。Bundle安卓的用途非常广泛。...提取出的Contact表,通过ListView和ContactAdapter,显示为联系人的条目页面。点击条目,URL信息放入Intent,并启动下游的BlogActivity。

86370

Android记事本项目开发

我新建了一个 NewAsyncTask 类去继承 AsyncTask,去执行从数据库读取数据的操作,onPostExecute()方法,去更新UI,比如显示ListView的数据,一下页面底部中间有几条数据等...当从另外的Activity返回到主Activity时,主页面应该再刷新一次,刷新数据和显示,所以我onResume()方法调用了 NewAsyncTask().execute() 方法,当活动恢复时刷新显示...,如从数据库读取数据一样,都是耗时操作,所以我还是用了AsyncTask, onPreExecute()方法,先获取到系统当前时间,进行格式化,存储下来,把输入的文本存储下来,然后再 doInBackground...所以MainActivity可以看到长按事件的监听器。但是因为Android的事件分发机制,长按事件必定会触发点击事件。...所以需要在ListView设置这样一个属性,才能点击事件和长按事件同时监听。

2.3K30

android实现搜索功能并将搜索结果保存到SQLite(实例代码)

涉及要点: ListView+EditText+ScrollView实现搜索效果显示 监听软键盘回车执行搜索 使用TextWatcher( )实时筛选 将搜索内容存储到SQLite(可清空历史记录)...v) { deleteData(); queryData(""); } }); et_search.setOnKeyListener(new View.OnKeyListener() {// 输入完按键盘上的搜索键...hideSoftInputFromWindow( getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); // 按完搜索键将当前查询的关键字保存起来...InputMethodManager.HIDE_NOT_ALWAYS); //隐藏软键盘 et_search.clearFocus(); et_search.setText(""); } }); // 插入测试数据...Date(); long time = date.getTime(); insertData("LY" + time); queryData(""); // 第一次进入查询所有的历史记录 } /** * 插入数据

93730

2014-10-31Android学习------SQLite数据库操作(四)-----数据库模块(二)增删改查实例展示

重载版本更新函数:public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 在当数据库版本更新的时候执行这个函数,...意思就是将游标的数据显示布局文件哪些控件上,这个参数是控件的id号 flags:用于确定适配器的行为 其实这里我们也可以用前面讲到的SimpleAdapter去实现它,那就是参数不是游标数据...其实他表示的就是一个表的数据,这个表有多个字段,那么它不就是一个实体类么,我们只需要取出这个实体类的某个字段作为object不就行了 Map,这个String是表示键值 这里写的肯定就是布局文件的...ListView控件基本完成了实现,但是还有一个没有处理,就是视图的更新 在前面的一篇文章就讲到了视图的更新 主要是两个函数:invalidate 和postInvalidate 参看前面的文章...它说不要使用这个方法,你只需要申请一个新的游标,当这个新的游标值返回来的时候(当你定义的新的游标有值的时候),你就能够异步更新视图列表做到这一点(让数据库中最新的数据显示列表) 下面我们要思考为什么重复查询很危险

58340
领券