如何将数据从一项活动发送到另一项活动中?
问题描述:
我有两个类。一个是 "registerProductActivity.java"
的活动,由ImageView
我从画廊拿起一张图片(使用Intent.ACTION_PICK
),并且我通过"onActivityResult"
方法将它存储到Uri(uri = data.getData()
)中。但是,我需要将此URI发送到另一个活动的片段中,以将此图像显示在此片段中的ListvView中。任何线索家伙?我知道这里有可认识的人。如何将数据从一项活动发送到另一项活动中?
下面的代码片段是我从registerProductActivity.java中获取图片的地方。
....
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发送到一个片段到名为“MainActivity”的另一项活动,该片段显示的产品列表进入列表视图。在这个“MainActivity.java”中,我使用了一个显示两个片段的SlidingTabs,其中一个具有ListView,它显示了一个展示产品的自定义视图。我认为我必须将这个URI传递给我的自定义适配器以将图像设置到我的listView中。所以,我没有任何线索可以做到这一点。下面有一个链接到一个图像来解释更好。
答
您可以发送使用捆绑的数据和意向象下面这样:
Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);
和MainActivity的每个子片段可以直接访问束值:
Intent mIntent = getActivity().getintent();
Bundle extras= mIntent.getExtras();
String str= extras.getString(key);
是在MainActivity的一个那叫做RegisterProductActivity,或者你会在RegisterProductActivity的onActivityResult里面启动MainActivity吗? –
你有关于活动和片段关系的图形解释。 – josedlujan
嗨樱,tks。 MainActivity和RegisterProductActivity不是同一个活动。意图选择动作和onActivityResult方法在RegisterProductActivity中。我将发布一个图形解释。 –