我目前正在使用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));
}
}
}
以前有人遇到过这个问题吗?
答案 0 :(得分:0)
你可能意味着:
index = image_cursor.getColumnIndexOrThrow(MediaStore.Images.Media.MIME_TYPE);
MediaStore.Images.Media.CONTENT_TYPE不是列名,而是图像目录的MIME类型。
要查找图片列,请查看MediaStore.Images.ImageColumns和MediaStore.MediaColumns。