我有一个启动应用程序的主要活动。在主要活动中,我有一个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);
答案 0 :(得分:3)
使用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();