我想将包含图像位置的String Array设置为ImageView。字符串数组将活动A传递回活动B,并在活动B中设置为ImageView。 我该怎么设置?以下是代码:
来自活动A:
String[] outputStrArr = new String[selectedItems.size()];
for (int i = 0; i < selectedItems.size(); i++) {
outputStrArr[i] = selectedItems.get(i);
//Log.i(GalleryActivity.TAG,outputStrArr[i]);
}
Intent intent = new Intent(getApplicationContext(),
MainActivity.class);
// Create a bundle object
Bundle bundle = new Bundle();
bundle.putStringArray("gridItem", outputStrArr);
// Add the bundle to the intent.
intent.putExtras(bundle);
// start the MainActivity
startActivity(intent);
来自活动B:
public void onResume() {
super.onResume();
Bundle bundle = getIntent().getExtras();
if (bundle != null){
String[] result = bundle.getStringArray("gridItem");
if(result != null){;
// I want to set the String Array to ImageView here.
}
}
}
感谢您的帮助!
答案 0 :(得分:0)
首先,图像需要包含在drawable文件夹中,然后在这里你可以做什么:
Resources res = getResources();
String mDrawableName = result.get(position);;
int resID = res.getIdentifier(mDrawableName , "drawable", getPackageName());
Drawable drawable = res.getDrawable(resID );
imageView.setImageDrawable(drawable );
这应该完美。但是,如果您有其他问题,请告诉我。
编辑:
尝试以下代码从存储在SD卡中的文件中设置位图图像:
File imgFile = new File("/sdcard/Images/my_image.jpg");
if(imgFile.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);
myImage.setImageBitmap(myBitmap);
}
并在清单文件中包含此权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />