在图库中显示图像

时间:2013-06-10 11:44:28

标签: java android imageview

我的活动有几个ImageView个项目。此外,我希望用户可以点击图片,图库应用程序会打开它。

这可能吗?

我有一个CursorAdapter我正在使用它来设置图像。

try {
ConversationImage.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        ...
    }
});

ConversationImage.setImageURI(Uri.parse(Content));
ConversationImage.setClickable(true);

} catch (Exception e) {
    Log.d(TAG, "ConversationImage");
    Log.d(TAG, textContent);
}

所以我在字符串“Content”中有URI。

由于

P.S。 我认为我打开画廊的想法不是正确的方法。我会写一个自己的活动来显示图像。

5 个答案:

答案 0 :(得分:1)

我的解决方案:

1)创建变量PICK_FROM_FILE:

private static final int PICK_FROM_FILE = 1;

2)开始ACTION_PICK

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, PICK_FROM_FILE);

3)图像恢复

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    if(resultCode==RESULT_OK) {
        switch (requestCode) {
        case PICK_FROM_FILE:
            Uri photoUri  = intent.getData();
            if (photoUri != null) {
                //YOUR TREATMENT
            }
            break;
        }
    }
}

答案 1 :(得分:0)

你需要使用下面的意图

Intent in = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(in, 1);

然后定义

public void onActivityResult(int requestCode, int resultCode, Intent data)
 {
        super.onActivityResult(requestCode, resultCode, data);
        System.out.println("on activity result");

        System.out.println("on activity  RESULT_OK");

}

答案 2 :(得分:0)

imageView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                        Intent intent = new Intent();
                        intent.setType("image/*");
                        intent.setAction(Intent.ACTION_GET_CONTENT);
                startActivity(intent);

            }
        });

答案 3 :(得分:0)

你也有这个选项:

private static final int gallerycode = 1;

Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType("image/*");
startActivityForResult(Intent.createChooser(i, "select pic"), gallerycode);

答案 4 :(得分:0)

我在寻找的是:

.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {

                        Intent photoIntent = new Intent(Intent.ACTION_VIEW);

                        File file = new File(imageString);
                        photoIntent.setDataAndType(Uri.fromFile(file),
                                "image/*");

                        context.startActivity(photoIntent);

                    }
                });

我在阅读时理解了如何使用它:https://developer.android.com/reference/android/content/Intent.html