Android 意图和若干活动的困难

Android 意图和若干活动的困难,android,android-intent,Android,Android Intent,我有一个启动应用程序的主要活动。在主活动中,我有一个ImageView,它将在第二个活动中通过intent从GridView的选定缩略图中获取路径字符串 这可能听起来很奇怪,首先使用GridView启动第二个活动会更自然,但这是任务的一个要求 因此,我正在努力解决如何处理字符串imageId,该字符串期望第二个活动的意图?我想我必须按下一个按钮来打开第二个活动和GridView,就像一个菜单按钮一样,但是你知道如何处理这个意图吗?谢谢你的帮助 主活动中的代码: String imageId =

我有一个启动应用程序的主要活动。在主活动中,我有一个
ImageView
,它将在第二个活动中通过intent从
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);
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1);

使用
startActivityForResult
打开第二个活动,类似于:

要启动第二个活动,请执行以下操作:

String imageId = i.getExtras().getString("image");

ImageView imageView = (ImageView) findViewById(R.id.full_image_view);

Bitmap bitmap =BitmapFactory.decodeFile(imageId);
imageView.setImageBitmap(bitmap);
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();

选中

我在onActivityResult下面看到一条红线,消息是:void是onActivityResult变量的无效类型??可能将该代码放在onCreate方法中是错误的,最好将其移到外部!快到了!我在意向I=新意向(本活动2.class)下方得到一条红线;在onClick方法中!为什么?当我使用getApplicationContect而不是“this”时,它工作了。您的代码工作了,但有一件奇怪的事情。在活动1中,我有ImageView,还有一个打开活动2以显示GridView的按钮。但是如果在布局文件中将按钮放在ImageView之后,应用程序将强制关闭!原因可能是什么?