cursor中明明有数据,但是moveToNext失败

来源:互联网 发布:套接字编程 编辑:程序博客网 时间:2024/05/02 04:34

cursor.getCount()明明有数据,但是moveToNext失败,总在第一条,不能正常移动到下一条,导致这个while死循环。

if (cursor.moveToFirst()) {    do {        Integer position = Integer.valueOf(cursor.getPosition());        if (mFileNameList.containsKey(position)){            continue;        }        FileInfo fileInfo = getFileInfo(cursor);        if (fileInfo != null) {            mFileNameList.put(position, fileInfo);        }    } while (cursor.moveToNext());}
原因是我在查询到结果返回cursor时,对这个cursor进行了处理,而就在这个处理的过程中异常了,而且被catch住了,所以导致现象异常。

try {    if(mLocalCursor != null && mLocalCursor.getCount() > 0 && isTypeAndMusic) {          int i = 0;          int column = cursor.getColumnIndexOrThrow(columnName);         String displayName = null;        String[] tempArray = null;        int index= 0;        for(mLocalCursor.moveToFirst();!mLocalCursor.isAfterLast();mLocalCursor.moveToNext(),i++){              SortEntry sortKey = new SortEntry();              displayName = cursor.getString(column);             if (displayName != null) {                tempArray = displayName.split("\\.");                index = tempArray.length;                displayName = tempArray[index - 1];            }            sortKey.key = displayName;            sortKey.order = i;              sortList.add(sortKey);          }      }  } catch (Exception e) {    Log.e(TAG, "SortCursor2: exception = " + e);}//Sort  Collections.sort(sortList,comparator); 

0 0
原创粉丝点击