0

我正在尝试将一个字符串数组_imagesPaths从一个包传递到另一个包。

我尝试了以下方法:

//sending the paths of images from `MainActivity` which is in `main.packages`
//assume the array is not null

Intent b = new Intent(MainActivity.this, EditPicturesActivity.class);
b.putExtra("left",LeftImageString);
b.putExtra("right",RightImageString);

通过执行以下操作在另一个包中接收路径: private String[] _imagesPath; Bundle extras = getIntent().getExtras();
_imagesPath[0] = extras.getString("left"); _imagesPath[1] = extras.getString("right");

接下来,我尝试加载路径提供的图像,但我得到了NullPointer一个_imagesPath is null.

编辑

_imagesPath 的值是通过从图库中选择图像来分配的:在此活动中

private String[] _imagesPath = null;

case SELECT_PICTURE1:
        if (resultCode == RESULT_OK) {

            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };

            Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            LeftImageString = cursor.getString(columnIndex);

            cursor.close();

            //the toast displays the path and it is not null
            Toast.makeText(
                    getApplicationContext(),
                    "The path of the first image you have selected is:  "
                            + LeftImageString, Toast.LENGTH_SHORT).show();  
            // String leftImagePath contains the path of selected Image


            //intent for "left" is placed here

        }      
        break; 

//similary image is taken for Image 2.
4

3 回答 3

0

您必须在设置值之前初始化 _imagesPath:

String _imagesPath[] = new String[2];
Bundle extras = getIntent().getExtras();            
_imagesPath[0] = extras.getString("left");
_imagesPath[1] = extras.getString("right");
于 2013-10-13T13:15:43.940 回答
0

您可以直接传递 _imagesPaths 之类的,

Intent b = new Intent(MainActivity.this, EditPicturesActivity.class);
b.putExtra("paths",_imagesPaths);

并且可以在另一端得到它,例如,

String[] paths = getIntent().getStringArrayExtra("paths");
于 2013-10-13T13:26:13.523 回答
0

您的代码很好,但您需要初始化图像数组。

谢谢你。

于 2013-10-13T13:33:27.287 回答