活动与片段之间的数据

时间:2016-05-12 14:40:10

标签: android android-fragments pass-data

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

有人可以帮助我吗?

2 个答案:

答案 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();