我已经想从我的 MainActivity 启动我的 RecipientFragment 并将数据从我的 MainActivity 传递到 Fragment。这是我已经实现的代码。但是片段没有开始。
Bundle bundle = new Bundle();
bundle.putString(ParseConstants.KEY_FILE_TYPE, fileType);
RecipientsFragment keyfile = new RecipientsFragment();
keyfile.setArguments(bundle);
Fragment newFragment = new RecipientsFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.commit();
我还想知道如何传递 intent.setData 并在 Fragment 中获取该数据。目前我有以下代码:
收件人片段
mMediaUri = getActivity().getIntent().getData();
主要活动
Intent recipientsIntent = new Intent(this, RecipientsFragment.class);
recipientsIntent.setData(mMediaUri);
原文由 Savita 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以在活动中添加或替换片段。在活动布局
xml
文件中创建一个FrameLayout
。然后在您的活动中执行此操作以 添加 片段:
并 替换 片段这样做:
请参阅有关 向活动添加片段 或以下有关 SO 的相关问题的 Android 文档:
add()、replace() 和 addToBackStack() 之间的区别
Fragment的add()和replace()方法的基本区别
add() & replace() 与 Fragment 生命周期的区别