这是我调用数据库,在地图上标注的程序但是在logcat里出现了这样的错误我分明有关闭数据库的语句啊,为什么还是出错了,请高手解释

解决方案 »

  1.   

    我觉得你应该是读数据库时的问题,DBAdapter是你自己封装的,你看封装的有没有问题,问题应该不是你贴的代码。
      

  2.   

    DBAdaper.java这个类441行出现问题,自己跟踪调试哈吧!
      

  3.   

    错误提示是数据库关闭的异常。可能是你的应用程序中没有关闭cursor吧。cursor.close();
      

  4.   

    是你的数据库没有关闭,建议你在调用时,返回的是一个List;比如在你的fetchAllDataRENTAL(),可以这样写:
    public ArrayList<HashMap<String ,String>> fetchAllDataRENTAL(){
        ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
        SQLiteDataBase db = ........;
        Cursor cursor = .........;
        while(cursor.moveToNext()){
           HashMap<String,String> map = new HashMap<String,String>();
           ...........
           ...........
           list.add(map);
        }
        cursor.close();
        db.close();
        return list;
    }
    ///////////////////////////////////////////////////////
    在你的UI上,用的是ArrayList,而不是数据库中的Cursor,这样就将UI层与数据库层分离开了,这在MVC,C/S等设计模式上都有的,
      

  5.   

    try catch后加个final,在里面关闭游标。
      

  6.   

                 根据错误的提示 应该是你122行 导致啦441行错误  这个应该是你数据库的问题 你可以打断点调试一下  如果代码正常 会一行一行的执行  如果有错误会跳转到android的源代码处