0

我在我的应用程序中使用谷歌地图 v2,但是当我尝试SupportMapFragment使用onActivityCreated()这种方法创建一个对象时没有被调用有人请帮助我这是我的代码,

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        super.onCreateView(inflater, container, savedInstanceState);
        Log.d("err", "onCreateView");
        view = inflater
                .inflate(R.layout.todays_deal_location, container, false);
    mFragment = new SupportMapFragment() {
                 @Override
                 public void onActivityCreated(Bundle savedInstanceState) {
                 super.onActivityCreated(savedInstanceState);
                 Log.d("err", "onActivityCreated");
                 GoogleMap map = mFragment.getMap();
                 }
                 };
       return view;
}
4

2 回答 2

0

这是将 SupportMapFragment 正确添加到您的片段的方法:

http://code.google.com/p/gmaps-api-issues/issues/detail?id=5064#c1

笔记:

  1. R.layout.layout_with_map 不包含片段
  2. 使用 getChildFragmentManager()
于 2013-04-15T13:43:43.393 回答
0

Fragments你应该知道` onCreateView()Fragments onActivityCreated().

onCreateView():

在这里,我们膨胀布局或简单地创建视图,如果您必须做任何引用 Activity 的事情,请不要这样做,例如创建对话框、访问 Activity 视图等,因为这个地方不能确保托管 Activity 完全功能性的

onActivityCreated():

这个方法位置表示我们的托管 Activity 视图已创建并且托管 Activity 是功能性的,这是执行所有与 Activity 相关的任务的正确位置。

onActivityCreated()当片段的活动被创建并且这个片段的视图层次被实例化时调用。一旦这些部分到位,它就可以用来进行最终初始化,例如检索视图或恢复状态。它对于使用 setRetainInstance(boolean) 来保留其实例的片段也很有用,因为此回调会告诉片段何时与新的活动实例完全关联。这在 onCreateView(LayoutInflater, ViewGroup, Bundle) 之后和 onStart() 之前调用。

于 2013-04-15T04:41:17.453 回答