我有一个片段,显示拍摄的照片列表,并允许我通过单击按钮来拍摄新照片;然而,在拍完照片后,它会转到PreviewActivity接受或取消拍摄的照片,并添加说明。
之后,我想用信息回复片段。澄清:
我的片段调用相机如下:
imgCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
nameFile = UUID.randomUUID().toString().replaceAll("-", "");
fileName = HelperFoto.createFile(HelperFoto.getTempFile() + date.replace(":", "_"), nameFile + ".jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(fileName.toString())));
startActivityForResult(intent, 2);
}
});
之后,我将生成的数据发送到PreviewActivity,如下所示:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 2 && resultCode == Activity.RESULT_OK) {
Intent startPreview = new Intent(getContext(), PreviewActivity.class);
startPreview.putExtra("path", fileName.toString());
startActivity(startPreview);
}
super.onActivityResult(requestCode, resultCode, data);
}
因此,在我的PreviewActivity中,我能够检索所有必要的信息;因此,我无法将其发送回片段(我尝试使用onBackPressed()但没有成功)。
有人可以帮助我吗?
答案 0 :(得分:1)
要在活动和片段之间传递信息,您可以使用Bundle对象
您可以在此处找到如何使用它的示例:Send data from activity to fragment in android。
答案 1 :(得分:0)
如果您想再次加载片段,则必须执行以下步骤
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
HelloFragment hello = new HelloFragment();
fragmentTransaction.add(R.id.fragment_container, hello, "HELLO");
fragmentTransaction.commit();