android - Intent 和一些 Activity 的困难

标签 android android-intent

我有一个启动应用程序的主要 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();

检查 https://stackoverflow.com/a/10407371/1434631

关于android - Intent 和一些 Activity 的困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14953045/

相关文章:

android - 捕捉市场搜索 Intent ?

android - 在 Android 上定期轮询位置的正确方法?

android - 在 Android 的线程中运行 ProgressDialog

android - Phonegap:如果第一次被拒绝,请再次请求许可

java - 在 ViewPager 的滑动上停止 Exoplayer

android - android设备中的图像缩放

android - 通过 intent - uri 权限共享图像

javascript - 尝试使用@react-native-community/slider 时,在 UI 管理器中找不到 RNCSlider

java - 我可以在 Activity 和类中声明和使用相同的按钮吗?

android - 全屏呈现 Intent