9

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

现在,我正在尝试添加一些片段到活动的通信,但我得到了一个空指针豁免。

这是我的代码:

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

MAPFragment片段扩展了一个 xml 布局,该布局具有 mapView 和map的 id 。我不太确定地图ID 是否是我应该使用的。我之前在另一个应用程序中成功地做到了这一点,但那个时候片段是通过 xml 添加的,而不是通过使用 replace()。

4

2 回答 2

8

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

于 2013-03-07T20:08:55.460 回答
6

你应该试试:

this.getId();

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

于 2017-12-27T05:44:25.310 回答