1

我正在尝试根据上一个片段中的按钮打开一个新片段。实现这一点的最佳方法是什么?

我很好奇它是否是 Activity -> .add + .commit original fragment -> from that fragment.java .replace new fragment?

或者我是否需要将意图传递回活动并从活动中创建/替换该片段?

所以总结一下:Activity A -> Fragment 1 -> Fragment 2。

我也对@Override [需要] 什么东西感到有些困惑。我认为只有 onCreate 和 onCreateView [在每个片段中]?我只是在这里寻找高级别的;我想自己努力完成代码。

4

2 回答 2

0

片段通常不知道它们的宿主,所以我会使用标准回调方法来调用您的活动并要求它切换片段。

创建接口

让您的活动实现接口。

将 getActivity() 调用投射到您的界面。

调用接口方法。

这比投射主机活动并在其上调用方法要干净得多。这也意味着您的片段可以托管在不同的活动中,而不会出现转换错误。

http://developer.android.com/training/basics/fragments/communicating.html

于 2013-10-13T17:22:01.133 回答
0

您需要像以下一样投射 getActivity:

((MyActivity) getActivity())

然后如果你有,你可以在你的活动中调用一个方法:

((MyActivity) getActivity()).replaceFragments(Object... params);

在方法内部,您应该执行替换片段过程。

所以你有正确的想法。

于 2013-10-13T17:19:43.810 回答