-2

我的活动有几个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);
}

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

谢谢

PS我认为我打开画廊的想法不是正确的方式。我将编写一个自己的活动来显示图像。

4

5 回答 5

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;
        }
    }
}
于 2013-06-10T12:15:58.620 回答
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");

}
于 2013-06-10T11:51:01.373 回答
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);

            }
        });
于 2013-06-10T11:51:40.047 回答
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);
于 2013-06-10T14:29:05.027 回答
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

于 2013-07-12T13:43:24.117 回答