我有一个启动应用程序的主要活动。在主活动中,我有一个ImageView
,它将通过意向从第二个活动中的GridView
获得所选缩略图的路径字符串。
这听起来可能很奇怪,首先用GridView
启动第二个活动会更自然,但这是任务的要求。
因此,我正在与困难作斗争——如何处理期望第二个活动的意图的字符串imageId
?我想我必须放一个按钮来打开第二个活动,GridView
就像一个菜单按钮,但你知道如何处理意图的事情吗?感谢您的帮助!
主要活动中的代码:
String imageId = i.getExtras().getString("image");
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
Bitmap bitmap =BitmapFactory.decodeFile(imageId);
imageView.setImageBitmap(bitmap);
使用startActivityForResult
打开第二个活动,类似于:
开始第二个活动:
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1);
然后处理返回的结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == Activity.RESULT_OK) {
String imageId = data.getExtras().getString("image");
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
Bitmap bitmap =BitmapFactory.decodeFile(imageId);
imageView.setImageBitmap(bitmap);
}
}
在第二个活动中,当选择缩略图时:
Intent intent = new Intent();
intent.putExtra("image", path);
setResult(RESULT_OK, intent);
finish();
检查https://stackoverflow.com/a/10407371/1434631