如何从画廊android获取子项目?

时间:2011-02-10 09:55:03

标签: android image-gallery

我想从gallery获取图片。为此,我使用了

  View v= mGallery.childAt(index);
   ImageView img = (ImageView) v.findViewById(R.id.img);

但有时如果索引的图像在它给出的时间不可见

  

的NullPointerException。

如何从图库中获取不可见的图像?

3 个答案:

答案 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获取图像并显示它们...(我在上面的答案中描述)....

2解决你的问题我只能在你的代码中显示你的一些技巧或补丁......

为此你可以检查空状态。如果你得到空图像然后显示一些默认图像代替它........