我有一个启动应用程序的主要 Activity 。在主要 Activity 中,我有一个 ImageView
,它将通过 Intent 从第二个 Activity 中的 GridView
中的选定缩略图获取路径字符串。
这听起来可能很奇怪,如果首先使用 GridView
启动第二个 Activity 会更自然,但这是任务的要求。
所以我正在为如何处理字符串 imageId
的困难而苦苦挣扎,该字符串需要来自第二个 Activity 的 Intent ?我想我将不得不放一个按钮来打开第二个 Activity 和 GridView
就像一个菜单按钮,但是有什么想法如何处理 Intent 的事情吗?感谢您的帮助!
主要 Activity 中的代码:
String imageId = i.getExtras().getString("image");
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
Bitmap bitmap =BitmapFactory.decodeFile(imageId);
imageView.setImageBitmap(bitmap);
最佳答案
使用 startActivityForResult
打开第二个 Activity ,类似于:
开始第二个 Activity :
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);
}
}
在第二个Actitivty中,选择缩略图时:
Intent intent = new Intent();
intent.putExtra("image", path);
setResult(RESULT_OK, intent);
finish();
关于android - Intent 和一些 Activity 的困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14953045/