activity 和片段之间的数据

Data between activity and fragment

我有一个显示已拍摄照片列表的片段,并允许我通过单击按钮拍摄一张新照片;但是,拍照后它会转到 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() 但没有成功)。

有人可以帮我吗?

要在 activity 和片段之间传递信息,您可以捆绑对象

您可以在此处查看如何使用它的示例:Send data from activity to fragment in android

如果您想再次加载片段,则必须按照以下步骤操作

FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            HelloFragment hello = new HelloFragment();
            fragmentTransaction.add(R.id.fragment_container, hello, "HELLO");
            fragmentTransaction.commit();