android如何通过onItemClick监听器从GridView获取图像路径

时间:2011-01-21 23:14:44

标签: android

因为我无法理解如何从中获取路径而陷入困境 我在GridView中单击的图片。

这个监听器是问题所在,因为我使用SD卡上的文件夹中的图像加载GridView。

public void onItemClick(AdapterView parent, View v, int position, long id)

我只能看到从资源加载GridView时如何使用“位置”的示例。

任何人都可以给我一个提示如何做到这一点。 我正在阅读并尝试这个

String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery( MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
projection,
null, 
null, 
null)

但是这会给我所有来自sdcard root的图像。 我的文件夹是“sdcard / PTPPservice”

我将从这里发送意图来显示图像:

      Intent intent = new Intent(getApplicationContext(), ViewImage.class);
      intent.putExtra("filename", imagePath);
      startActivity(intent);

1 个答案:

答案 0 :(得分:4)

找到了解决方案,所以我回答了我自己的问题。 orgPath是我添加的字符串,在图像加载期间保存路径

public void onItemClick(AdapterView<?> parent, View v, int position, long id) {    

    ImageAdapter i = (ImageAdapter)parent.getAdapter();
    LoadedImage l = (LoadedImage)i.getItem(position);

    Intent intent = new Intent(getApplicationContext(), ViewImage.class);
    intent.putExtra("filename", l.orgPath);
    startActivity(intent);
    return;

}