listview-当数据库为空的时候,用lisView动态加载数据空时出现的闪退问题

问题描述

当数据库为空的时候,用lisView动态加载数据空时出现的闪退问题

当我用ListView动态加载数据库中的文件时,当数据库中确实存在文件时,一切正常,能够正常显示。
但是当数据库为空或者吗,没有新建数据库的时候,用ListView加载时,就会出现闪退的问题。
求大神支招,怎么解决。附上我的获取数据库中数据的方法

```private ArrayList getData(){
SQLiteDatabase db =openOrCreateDatabase("text.db", MODE_PRIVATE, null);
Cursor c =db.rawQuery("select * from texttb", null);
if(c!=null){
while(c.moveToNext()){
mArrayList.add(c.getString(c.getColumnIndex("conent")));
}
c.close();
}
else{
mArrayList.add("暂时还没有添加任何的便签消息");
}
db.close();
return mArrayList;
}


解决方案

肯定是你访问量null对象,看看错误日志,肯定会告诉你在哪个单元,第几行

解决方案二:

你最好好错误日志贴出来,不过根据你说的情况很有可能是空指针异常,由于导致出现这种问题的情况很多,
我也不太确定,你看看你的getData()方法调用有没有问题

解决方案三:

if(c!=null){
while(c.moveToNext()){
mArrayList.add(c.getString(c.getColumnIndex("conent")));
}
c.close();
}
把c.close()去掉,加个数据源为空的异常提示就行了

解决方案四:

Cursor c =db.rawQuery("select * from texttb", null); 数据库为空时 c=null,你调用c.close()方法肯定会报错:改为

 if(c != null) {
        c.close()
 }
时间: 2024-08-31 05:22:59

listview-当数据库为空的时候,用lisView动态加载数据空时出现的闪退问题的相关文章

Android开发中Listview动态加载数据的方法示例

本文实例讲述了Android开发中Listview动态加载数据的方法.分享给大家供大家参考,具体如下: 最近在研究网络数据加载的问题,比如我有几百,甚至上千条数据,这些数据如果一次性全部加载到arraylist,然后再加载到Listview中.我们必然会去单独开线程来做,这样造成的结果就是会出现等待时间很长,用户体验非常不好.我的想法是动态加载数据,第一次加载十条,然后往下面滑动的时候再追加十条,再往下面滑动的时候再去追加,这样大大减少了用户等待的时间,同时给处理数据留下了时间.网上看到了这样一

Android实现listview动态加载数据分页的两种方法_Android

在android开发中,经常需要使用数据分页,比如要实现一个新闻列表的显示,或者博文列表的显示,不可能第一次加载就展示出全部,这就需要使用分页的方法来加载数据,在android中Handler经常用来在耗时的工作中,它接收子线程发送的数据,并使用数据配合更新UI,AsyncTask是在一个线程中执行耗时操作然后把结果传给UI线程,不需要你亲自去管理线程和句柄. 一.使用Handler+线程方法1.基础知识Handler在android系统中,主要负责发送和接收消息,它的用途主要有以下两种: (1

android listview 动态加载数据的问题

android UI进阶之实现listview的分页加载  手动加载 http://www.cnblogs.com/noTice520/archive/2012/02/10/2345057.html 滑动加载 http://www.cnblogs.com/leizhenzi/archive/2011/10/13/2210485.html http://www.cnblogs.com/tanlon/archive/2011/03/20/1989323.html android UI进阶之实现lis

安卓开发之ListView(HorizontalListView)横向动态加载数据例子

这个自定义的控件可以实现横向的动态数据加载,话不多说,下面上代码.(使用方法和普通listview一致) 1.在布局里用HorizontalScrollView包含一个ListView: 2.利用GridView,把它的行数设为1行: HorizontalListView.java: package cn.zmit.xianneng.widget; import java.util.LinkedList; import java.util.Queue; import android.conten

Android ListView总结(多选框ListViiew,动态加载,多线程更新ListView中的进度条)

http://www.cnblogs.com/chon/archive/2011/06/28/2092317.html Why ListView? ListView 如果仅仅出于功能上的需求ListView可能没有存在的必要,ListView能作的事情基本上ScrollView也能胜任.ListView存在的最根本的原因在于它的高效(如何实现的?).ListView通过对象的复用从而减少内存的消耗,也减少了对象的创建从而也减少的cpu的消耗(在Androidk中创建View对象经常伴随着解析xm

Android实现ListView数据动态加载的方法_Android

本文实例讲述了Android实现ListView数据动态加载的方法.分享给大家供大家参考,具体如下: list.setOnScrollListener(new OnScrollListener() { //添加滚动条滚到最底部,加载余下的元素 public void onScrollStateChanged(AbsListView view, int scrollState) { // if (scrollState == OnScrollListener.SCROLL_STATE_IDLE)

Android listview动态加载列表项实现代码_Android

最近了一个动态加载listview类表项的列子,分享出来大家学习学习,说说这个例子的实现过程,首先限定每次加载的列表项数据为10条数据,当拖动listview滚动到最后一条数据的时候再加载10条,并在Listview下方显示加载提示. 下面是我的java源码: private void showContent() { listView = (ListView) findViewById(R.id.journals_list_one); loadData(); adapter = new MyLi

android Listview下拉滚动时自动加载数据

  最近在研究网络数据加载的问题,比如我有几百,甚至上千条数据,这些数据如果一次性全部加载到arraylist,然后再加载到Listview中.我们必然会去单独开线程来做,这样造成的结果就是会出现等待时间很长,用户体验非常不好.我的想法是动态加载数据,第一次加载十条,然后往下面滑动的时候再追加十条,再往下面滑动的时候再去追加,这样大大减少了用户等待的时间,同时给处理数据留下了时间.网上看到了这样一个例子,挺好的,我改动了一下,达到了我想要的结果. import android.app.Activ

Android Listview滑动时不加载数据,停下来时加载数据,让App更优

转载:http://blog.csdn.net/yy1300326388/article/details/45153813 数据源配置(Adapter) package com.zhengsonglan.listview_loading.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGrou