Android游标getColumnIndexOrThrow给了我一个错误

时间:2011-02-11 23:25:53

标签: android cursor managed

我目前正在使用managedQuery通过使用mediastore查询sdcard中的图像,但是它无法通过函数getColumnIndexOrThrow并在模拟器上弹出错误对话框。

image_cursor = this.managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,null,null,null,null);

    if (image_cursor == null)
    {
        TextView test = (TextView) this.findViewById(R.id.textView1);
        test.setText("null");
    }
    while ( image_cursor.moveToNext()) {
        if (image_cursor.getCount() > 0)
        {
            TextView test = (TextView) this.findViewById(R.id.textView1);
            test.setText("entered");
        int index = image_cursor.getColumnIndexOrThrow(MediaStore.Images.Media.CONTENT_TYPE);

        //  TextView test = (TextView) this.findViewById(R.id.textView1);

        //  test.setText(image_cursor.getString(index));
        }
    }
}

以前有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

你可能意味着:

index = image_cursor.getColumnIndexOrThrow(MediaStore.Images.Media.MIME_TYPE);

MediaStore.Images.Media.CONTENT_TYPE不是列名,而是图像目录的MIME类型。

要查找图片列,请查看MediaStore.Images.ImageColumnsMediaStore.MediaColumns