Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将图像从库导入片段_Android_Android Fragments_Fragment_Navigation Drawer - Fatal编程技术网

Android 将图像从库导入片段

Android 将图像从库导入片段,android,android-fragments,fragment,navigation-drawer,Android,Android Fragments,Fragment,Navigation Drawer,我试图在导航滑块中实现一个片段。我需要在我的一个片段中创建一个按钮,以便从默认库导入图像。我在网上尝试了很多代码,但它们似乎不起作用。如果你在android 6.0中测试你的应用程序,这取决于你使用的android版本,你应该在运行时请求许可,否则android不会返回图像 对于预棉花糖,您可以使用以下代码: Intent pickIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_UR

我试图在导航滑块中实现一个片段。我需要在我的一个片段中创建一个按钮,以便从默认库导入图像。我在网上尝试了很多代码,但它们似乎不起作用。

如果你在android 6.0中测试你的应用程序,这取决于你使用的android版本,你应该在运行时请求许可,否则android不会返回图像

对于预棉花糖,您可以使用以下代码:

Intent pickIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        pickIntent.setType("image/*");
        startActivityForResult(pickIntent, 0);
然后重写方法

@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, requestCode, data);
        try {
            // When an Image is picked
            if (requestCode == 0 && resultCode == Activity.RESULT_OK && null != data) {
                Uri selectedImage = data.getData();

                image.setImageBitmap(BitmapFactory.decodeFile(getRealPathFromURI(selectedImage)));
            } else
                new ShowErrorToast(getActivity(), "Hey! your Android phone is busy");

        } catch (Exception e) {

        }

    }
然后使用该方法获取图像的路径

public String getRealPathFromURI(Uri data) {
        String[] filePathColumn = {MediaStore.Images.Media.DATA};
        Cursor cursor = getContentResolver().query(data
                , filePathColumn, null, null, null);
        String picturePath = "";
        if (cursor != null) {
            cursor.moveToFirst();
            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            picturePath = cursor.getString(columnIndex);
            cursor.close();
        }
        return picturePath;
    }

对于棉花糖,您应该请求运行时许可,并遵循上述代码

欢迎使用堆栈溢出。请帮助我们编辑您的问题,并回答以下问题:您到底尝试了什么?结果如何?这些结果与您想要的结果有何不同?谢谢您的帮助。正如我上面提到的。我需要一个按钮被点击,但我无法识别用户将在哪里点击你上面给出的所有编码。在某些东西上不应该有onClick方法。我应该在我的xml文件中写些什么。谢谢大家。最终我得到了答案。我的错误是我没有使用“查看组”。现在我使用了。它工作得很好。