Android 如何将活动C结果引入活动A?

Android 如何将活动C结果引入活动A?,android,Android,我正在开发一个应用程序,其中我们从活动A创建活动B。从活动B创建活动C,我们希望将图像和文本返回到活动A 在谷歌登记,但没有得到答案,我正在寻找。你能告诉我这怎么可能吗 提前感谢你的帮助 更新:首先,thnx为您提供答案。让我更清楚地解释我的要求 在活动A下,通过意图,我们打开图库并选择图像。通过在此活动中定义startActivityForResult,我们捕获了用户选择并创建了新意图(活动B)的图像,其中我们通过putExtra函数获取了所有参数。我们在这里显示用户选择的图像,并允许用户编辑

我正在开发一个应用程序,其中我们从活动A创建活动B。从活动B创建活动C,我们希望将图像和文本返回到活动A

在谷歌登记,但没有得到答案,我正在寻找。你能告诉我这怎么可能吗

提前感谢你的帮助

更新:首先,thnx为您提供答案。让我更清楚地解释我的要求

在活动A下,通过意图,我们打开图库并选择图像。通过在此活动中定义startActivityForResult,我们捕获了用户选择并创建了新意图(活动B)的图像,其中我们通过putExtra函数获取了所有参数。我们在这里显示用户选择的图像,并允许用户编辑图像和放置文本。 现在我们要寻找的是在已经创建的活动A中显示编辑过的图像和文本。如果列表视图行已经很少,那么数据添加将通过列表视图进行

希望我们现在的要求更加明确

提前感谢你的帮助

更新(同时显示一些代码)

下面是我在活动A中应用的代码

  Intent intent = new Intent(Intent.ACTION_PICK,               
   android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                intent.setType("image/*");
                startActivityForResult(Intent.createChooser(intent, "Select File"), SELECT_FILE);
结果可在活动A至startActivityForResult中获得,如下所示

 if (requestCode == SELECT_FILE) {
            Uri selectedImageUri = data.getData();
            String[] projection =   
   {MediaStore.MediaColumns.DATA};Log.i("User_Chat_Page",  
   "projection="+selectedImageUri);
    Cursor cursor =managedQuery(selectedImageUri,projection,null,null,null);
    int column_index =  
     cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);
     cursor.moveToFirst();

     String selectedImagePath = cursor.getString(column_index);
     image_name = selectedImagePath;
     Bitmap bm;
     BitmapFactory.Options options = new BitmapFactory.Options();
     options.inJustDecodeBounds = true;
     BitmapFactory.decodeFile(selectedImagePath, options);
     final int REQUIRED_SIZE = 200;
     int scale = 1;
     while (options.outWidth / scale / 2 >= REQUIRED_SIZE
     && options.outHeight / scale / 2 >= REQUIRED_SIZE)
               scale *= 2;
     options.inSampleSize = scale;
     options.inJustDecodeBounds = false;
     bm = BitmapFactory.decodeFile(selectedImagePath, options);
     Intent edit_image_intent = new Intent(ctx, 
     DrawOnBitmapActivity.class);
     edit_image_intent.putExtra("selected_img_path", 
     selectedImagePath);
     edit_image_intent.putExtra("selected_imguri", selectedImageUri);
     edit_image_intent.putExtra("message_source", "to");
     edit_image_intent.setData(selectedImageUri);
     ctx.startActivity(edit_image_intent);
                        }
图像显示在活动B(意图:编辑图像意图)中,用户编辑图像并放置文本


我的问题是如何在Activity-A中显示编辑图像和文本。列表视图中需要显示,因为Activity-A中已经显示了视图行(如聊天代码中的视图行)

我建议您通过数据库或共享首选项进行此操作。如果要避免数据库或共享首选项,而不是在活动中级联ActivityResult()方法,那么意图将是一个错误的选择

ActivityA -> startActivityForResult(AcivitityB)

             ActivityB -> startActivityForResult(ActivityC)

                          add text and image(url) here to result
                          setResult()
                          finish activity

             ActivityB.onActivityResult()
             get data from AcitivityC result

             setResult() with data received

ActivityA.onActivityResult()
get data from result

如果它成功了,试试看。使用单个实例类,保留活动C中的图像和文本,并获取活动a中的图像和文本。共享首选项将起作用,或从活动3开始,除活动1外,请注意在实现方法2时可能存在问题,另一个方法是单个实例类,可能与