【发布时间】:2012-11-29 07:20:49
【问题描述】:
我在将数据从活动传递到其中的片段时遇到了一些问题。我四处寻找,但没有找到适合我情况的答案。
我有 2 个名为 CurrentFragment.java 和 HistoryFragment.java 的片段类。我将它们初始化为 Activity 中的选项卡。
Tab tab = actionBar.newTab()
.setText(R.string.tab_current)
.setTabListener(new TaskitTabListener<CurrentFragment>(
this, "current", CurrentFragment.class));
actionBar.addTab(tab);
tab = actionBar.newTab()
.setText(R.string.tab_history)
.setTabListener(new TaskitTabListener<HistoryFragment>(
this, "history", HistoryFragment.class));
actionBar.addTab(tab);
有人告诉我在活动中使用setArguments,在片段中使用getArguments。但是在这种情况下,我如何在 Activity 中获取片段对象?我不能使用getFragmentManager().findFragmentById(),因为片段是通过编程方式添加的。
另外,我发现一些帖子说我可以在片段中使用getActivity() 来访问 Activity 容器中的数据,但对我来说它一直返回 null。有人有这方面的工作示例吗?
【问题讨论】:
-
getActivity()在onAttach 方法中是否返回null? -
尝试在 TaskitTabListener.onTabSelected() 中设置参数。
-
@svenkapudija 是的,它在
onAttach中变为空。 -
@faylon 谢谢。我会试试看。