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