猿问

获取游标数据后,进不去判断是怎么回事?求救!!!谢谢

//根据音乐ID查询音乐实体对象

public MusicInfo queryById(long id) {

    Cursor cursor = cr.query(Media.EXTERNAL_CONTENT_URI, 

                            musicContent, "_id=?", new String[]{id+""}, null);

    if(cursor.moveToNext()) {

        Log.i(TAG, "=====");

        MusicInfo info=new MusicInfo();

        info._id= cursor.getInt(cursor.getColumnIndex(Media._ID));

        info.displayName=cursor.getString(cursor.getColumnIndex(Media.DISPLAY_NAME));

        info.title=cursor.getString(cursor.getColumnIndex(Media.TITLE));

        info.duration=cursor.getLong(cursor.getColumnIndex(Media.DURATION));

    cursor.close();

    //返回结果

    return info;

    }else{

       //没有数据

    cursor.close();

    return null;

    }

}


鱼儿爱天空
浏览 1382回答 1
1回答

星箜下

进不去说明Cursor没数据, 你看看是不是_id是integer型的,你这里是new String(id+"") ,换成new Integer(id),不知道SQLite能不能自动这样转换。
随时随地看视频慕课网APP

相关分类

Android
Java
我要回答