当前位置: 首页 > 知识库问答 >
问题:

Android-我如何从片段中选择和显示图像?

葛修真
2023-03-14

我一直在尝试选择并在我的片段上显示图像,但似乎不起作用。

我下面的代码开始并将我带到我的图库,但当我点击图片时,我的应用程序崩溃并给我一个错误:

 Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);

有错误:

java.lang.RuntimeException:将结果ResultInfo{who=null,request=131073,result=-1,data = Intent { dat = content://media/external/images/media/19394(has extras)} }传递到活动{ com . my company . e _ planner/com . my company . e _ planner }失败。my activity }:Java . lang . security异常:权限拒绝:从pid=29204、uid=10011读取com . Android . providers . media . media provider uri content://media/EXTERNAL/images/media/19394需要Android . Permission . read _ EXTERNAL _ STORAGE或grantUriPermission()

这是我的代码:

public class Venue1 extends Fragment {

private int PICK_IMAGE_REQUEST = 1;

public Venue1() {
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View V = inflater.inflate(R.layout.fragment_venue1, container, false);

    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);

    return V;
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == PICK_IMAGE_REQUEST && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) {

        Uri uri = data.getData();

        try {
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
            // Log.d(TAG, String.valueOf(bitmap));

            ImageView imageView = (ImageView)getActivity().findViewById(R.id.imageView);
            imageView.setImageBitmap(bitmap);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
}

共有2个答案

秦才
2023-03-14

这个错误是不言自明的。您需要请求权限android.permission.READ_EXTERNAL_STORAGE。只需将其添加到清单文件中。

师俊健
2023-03-14

在清单文件中添加读取外部存储的权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 类似资料:
  • 我正在尝试制作一个选项卡,其中我必须在gridview中显示图像,所以我从一个库中制作了普通选项卡,并制作了一个适配器来显示我的主要活动代码中的图像。 我的片段类。 我已将适配器设置如下: 我能够在活动中创建网格视图,但是我用它来声明类中的图像,但在这里我遇到了错误。我在适配器中声明为适配器将调用图像的 Sso。它正确编译,没有任何错误,但它显示运行时错误错误为 那么如何解决这个问题,我必须声明图

  • 我的代码在下面..在中 在onActivityResult(int requestCode,int resultCode,Intent data)中

  • 问题内容: 我正在尝试编写一个项目。在我的项目中,我可以成功拖动图像。 这是图片,这是我的ViewOnTouchListener代码: 请看图片 ,这是我的DragView代码: 一切都好。但是我需要做的是,当用户单击图像(贴纸)时,阴影和边框消失。当用户再次单击图像时,它们会再次出现。我不知道该怎么办。 问题答案: 最后,我找到了正确的答案。我认为这可能会有所帮助。所以我分享。首先,我在Drag

  • 我有一个带有底部导航视图、浮动操作按钮和四个片段的活动。我只想在“fragment1”和“fragment2”上显示浮动操作按钮,并在选择“fragment3”或“fragment4”时将其隐藏。启动应用程序时,“fragment1”会显示为浮动操作按钮,当我导航到“fragment3”时,我设法将其隐藏起来。但问题是,当我从“fragment3”或“fragment4”导航回“fragment1

  • 我尝试过构建本机用户界面组件,但通常是成功或失败的。该组件似乎没有以react-本机呈现。 不过,对于这个问题,我特别尝试在react-native中渲染一个Android片段,但没有显示任何内容。示例代码: 使用上面的视图管理器,视图应该在的地方甚至没有被涂成白色,这意味着框架布局本身没有被渲染。 我做错了什么?

  • 问题内容: 我需要在手机中打开我的画廊,然后选择一张在活动中在imageview中打开的图片..没什么困难..但是我在模拟器(genymotion)中有完美的代码和thise代码可以运行..但是在小米Mi4上却没有。 打开画廊选择项目,什么也没有。 我没有更多的电话了:( 我尝试下载一些与此主题相关的示例,并且每个示例都是相同的。 您是否有一些从图库中选择图像并在imageview中显示的项目?如

  • 本文向大家介绍Android从相册选择图片剪切和上传,包括了Android从相册选择图片剪切和上传的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android剪切和上传图片的具体代码,供大家参考,具体内容如下 1、从Android系统相册选择一张图片getImageFromAlbum(): 2、在onActivityResult()方法中: 3、图片剪切 CutPic(select