如何将数据从一个活动发送到另一个活动?

时间:2017-09-01 01:11:41

标签: android android-intent uri

我有两节课。一个叫做活动 "registerProductActivity.java" ImageView Intent.ACTION_PICK我从图库中选取图片(使用uri = data.getData()),然后通过"onActivityResult"方法将其存储到Uri(.... imagemProduto.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("image/*"); startActivityForResult(intent, GALLERY_INTENT); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == GALLERY_INTENT && resultCode == RESULT_OK){ uri = data.getData(); // declare as global var into this class imagemProduto.setImageURI(uri); } } .... )中。但是,我需要将此URI发送到另一个活动的片段,以将此图像显示到此片段中的ListvView中。有什么线索吗?我知道这里有可识别的人。

下面的代码片段是我从registerProductActivity.java中获取图片的地方。

TRANSLATE()

之后,我需要将这个URI发送到另一个名为“MainActivity”的活动中,这个片段将一个产品列表显示在一个listView中。在这个“MainActivity.java”中,我使用了SlidingTabs,它显示了两个片段,其中一个片段有一个ListView,它显示了展示产品的自定义视图。我认为我必须将此URI传递给我的自定义适配器,以将图像设置为我的listView。所以,我没有任何线索这样做。下面有一个图像链接,可以更好地解释。

Graphic Relationship between activities and fragment

1 个答案:

答案 0 :(得分:0)

您可以使用Bundle和Intent发送数据,如下所示:

Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);  

并且MainActivity的每个子片段都可以直接访问bundle值:

Intent mIntent = getActivity().getintent();
Bundle extras= mIntent.getExtras();
String str= extras.getString(key);
相关问题