【问题标题】:NullException on Bitmap ,bitmaps is getting null value位图上的 NullException ,位图正在获取空值
【发布时间】:2021-05-12 22:58:32
【问题描述】:

我正在尝试从图库中获取多张图片,将其显示在 >Recyclerview 中,并将其发送到服务器但显示此错误 >这是我将图像写入文件的代码,错误出现在 >initialization输入流


 @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        Log.d("Data any THING", String.valueOf(data));
        if (requestCode == ImagePicker.IMAGE_PICKER_REQUEST_CODE && resultCode == RESULT_OK) {
            List<String> mPaths = data.getStringArrayListExtra(ImagePicker.EXTRA_IMAGE_PATH);
            Log.d("mPaths MainActivity", String.valueOf(mPaths));
            
                for (int i = 0; i < mPaths.size(); i++) {
                    files.add(new File(mPaths.get(i)));

                 
                }
                if (inputStream==null) {
                    for (int i = 0; i < files.size(); i++) {
                        try {
                        

                            inputStream = getContentResolver().openInputStream(Uri.fromFile( files.get(i)));
                            Toast.makeText(this, "Inputstream"+String.valueOf(inputStream), Toast.LENGTH_SHORT).show();
                            bitmaps = BitmapFactory.decodeStream(inputStream);
                            Log.e("File", String.valueOf(files));
                            Log.e("stream", String.valueOf(inputStream));
                            editText.setText(String.valueOf(files)+String.valueOf(inputStream));
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        }
                        Log.d("DATASSSSSSSSSSSTTTT", String.valueOf(data.getData()));
                        Log.e("IMages From Stream", String.valueOf(bitmaps));
                        Log.d("Images from Steam", String.valueOf(bitmaps));
                        recyclerAdapter.fileMOthod(files);
                        if (bitmaps != null) {
                            resizeIMagestoAdapter();
                            imageResize(bitmaps);
                        } else {
                        }
                        }
                }
        }
    }

【问题讨论】:

    标签: image file indexing android-recyclerview bitmap


    【解决方案1】:

    files 数组只有索引 0 到 files.size()-1,但您的 i 变量在循环中从 0 变为 files.size()

    for (int i = 0; i < files.size()+1; i++)
    

    因此,files.get(i)IndexOutOfBoundsException 失败。

    Index: 2, Size: 2 表示files 的大小为 2(它只有索引 0 和 1),但您正在尝试访问索引 2。

    【讨论】:

    • @Edwin 我建议您在进入 Android 之前先熟悉基本的 Java :) 现在,您应该深入调试并找出哪个变量为 null 以及为什么会这样。如果它有助于解决原始问题,您也可以将我的答案标记为解决方案。
    • 我的输入流为空
    猜你喜欢
    • 2014-11-03
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 2017-11-20
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多