如何获取片段的ID?

时间:2013-03-07 17:26:26

标签: android android-fragments

首先,我按照this tutorial创建了一个带有操作栏+标签的活动。这个实现的作用是它在main_activity布局中有一个fragment_container(只是一个线性布局),并根据选择的选项卡将其替换为片段。

现在,我正在尝试添加一些fragment-to-activity communication,但我得到了一个nullpointerexemption。

这是我的代码:

com.mypackage.MAPFragment map_ =
(com.mypackage.MAPFragment) getFragmentManager().findFragmentById(R.id.map);
map_.ActivityToMapMethod();

MAPFragment 片段会使xMap布局膨胀,该布局的mapView为 map ,ID为。我不太确定 map id是否是我应该使用的。我之前在另一个应用程序中成功完成了这个,但是那个时候片段是通过xml添加的,而不是使用replace()。

2 个答案:

答案 0 :(得分:6)

findFragmentById()方法从容器中获取Fragment id,如果其中有一个Fragment。否则你将得到null。 findFragmentById(R.id.fragment_container)会在教程的LinearLayout内返回片段。

答案 1 :(得分:3)

你应该尝试:

this.getId();

它对我有用,我希望它适合你。 希望能帮助到你!祝你好运!