我想从gallery获取图片。为此,我使用了
View v= mGallery.childAt(index);
ImageView img = (ImageView) v.findViewById(R.id.img);
但有时如果索引的图像在它给出的时间不可见
的NullPointerException。
如何从图库中获取不可见的图像?
答案 0 :(得分:1)
我认为您是通过适配器将图像添加到图库?
如果是这样,您可以使用getItemAtPosition(index)
基本上检索已放入适配器的内容。当然,您需要确保索引有效。
如果您想要所选项目,您可以使用其他选项直接访问:
Gallery.getSelectedView()
和Gallery.getSelectedItem()
答案 1 :(得分:0)
使用这样的东西。
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, 1);
onActivityResult方法:
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
Uri photoUri = intent.getData();
if (photoUri != null) {
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this
.getContentResolver(), photoUri);
your_imgv.setImageBitmap(bitmap);
profilePicPath = photoUri.toString();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
感谢..
答案 2 :(得分:0)
2解决你的问题我只能在你的代码中显示你的一些技巧或补丁......
为此你可以检查空状态。如果你得到空图像然后显示一些默认图像代替它........