插入数据无法及时更新ListView页面
更新数据可以及时更新ListView页面,插入数据不能及时更新,数据是插入到数据库了,遍历数据库能看到。更奇怪的是:插入数据后再去更新别的笔记信息,也不能及时更新页面了,没插入数据前update操作是可以及时更新ListViewd页面数据的 ,数据库同样是被修改成功了的
笔记标题和内容均不为空,则插入到数据库
if (!title.isEmpty() & !content.isEmpty()) {
if (note != null)//却isfromDatabase=true
// 数据来源于数据库,需要更新笔记note
{
try {
note.setTitle(title);//修改源数据
note.setContent(content);//修改源数据
databaseManagement.noteUpdate(note);
//更新mAdapter适配器数据,运行及时更新页面
fragmentAllNote.myAdapter.notifyDataSetChanged();
isfromDataBase = false;//重新初始化为false;
} catch (SQLException e) {
e.printStackTrace();
}
} else//新建笔记note
{
try {
note = new Note(title, content);
databaseManagement.noteInsert(note);
//更新mAdapter适配器数据
// 语句(1) fragmentAllNote.noteList = databaseManagement.noteQueryAll();
Log.i("test", "插入新笔记后遍历所有笔记:");
for (int i = 0; i < fragmentAllNote.noteList.size(); i++) {
Log.i("test", "第" + i + "条信息" + fragmentAllNote.noteList.get(i).toString());
}
// 无法更新页面,无论有没有注释掉上一句(语句(1))
fragmentAllNote.myAdapter.notifyDataSetChanged();
} catch (SQLException e) {
e.printStackTrace();
}
}
clean();
}
正在回答 回答被采纳积分+1
本人已解决,麻烦老师了
找到原因了,新代码如下:
笔记标题和内容均不为空,则插入到数据库
if (!title.isEmpty() & !content.isEmpty()) {
if (note != null)//却isfromDatabase=true
// 数据来源于数据库,需要更新笔记note
{
try {
note.setTitle(title);//修改源数据
note.setContent(content);//修改源数据
databaseManagement.noteUpdate(note);
//更新mAdapter适配器数据,运行及时更新页面
fragmentAllNote.myAdapter.notifyDataSetChanged();
isfromDataBase = false;//重新初始化为false;
} catch (SQLException e) {
e.printStackTrace();
}
} else//新建笔记note
{
try {
note = new Note(title, content);
databaseManagement.noteInsert(note);
//更新mAdapter适配器数据
List<Note> listNote = databaseManagement.noteQueryAll();
fragmentAllNote.noteList.clear();//清除原来数据,保持指针指向不变
fragmentAllNote.noteList.addAll(listNote);//添加数据库数据
Log.i("test", "插入新笔记后遍历所有笔记:");
for (int i = 0; i < fragmentAllNote.noteList.size(); i++) {
Log.i("test", "第" + i + "条信息" + fragmentAllNote.noteList.get(i).toString());
}
// 无法更新页面,无论有没有注释掉上一句(语句(1))
fragmentAllNote.myAdapter.notifyDataSetChanged();
} catch (SQLException e) {
e.printStackTrace();
}
}
clean();
}
- 参与学习 人
- 提交作业 307 份
- 解答问题 1613 个
本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星