我想获得MediaStore中存储的歌曲的歌曲名、歌手名、还有专辑名,并通过
ContentResolver resolver=this.getContentResolver();
     Cursor cursor=resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, 
     null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
获得了相应的Cursor,可是通过cursor.getString(1)获得的只是该列的名称而不是该列的数据T.T....
请问怎么才能获得Cursor某一列的数据啊?

解决方案 »

  1.   

    cursor.getString(1)获得是该列的数据,你再仔细看看
      

  2.   

    如果我没记错,正确的写法应该是:
    cursor.getString(cursor.getColumnIndex(1));注意getColumnIndex()方法,里面的参数指的是某一列在数据表中的位置。
    比如你的表中有三列:name, age, sex
    那你现在只想取出age列的值,你传进去的参数值应该是1或者2(我不知道sqlite是从第几个下标开始计数的)
      

  3.   

    很奇怪,我用Log.d()打印出来的是列名称,用System.out打印的才是列数据。不过还是谢谢你的回答哈