_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("左"); _imagesPath[1] = extras.getString("右");
次に、パスによって提供された画像を読み込もうとしましたが、というメッセージが表示され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.