如何在ViewPager管理的Fragment中扩充SupportMapFragment?

时间:2013-11-04 11:46:24

标签: java android google-maps android-fragments android-viewpager

所以,我正在尝试将一些片段放在一起。我有一个TabActivity扩展FragmentActivity
在TabActivity里面我有4个扩展Fragments的选项卡(android.support.v4.app.Fragment)
在其中一个片段中,我想要一个谷歌地图占据屏幕的某些部分。我有ViewPager在TabActivity中切换视图。在我的项目中我有 Android私人图书馆
- 谷歌播放,services.jar -android-support-v4.jar

我的清单有我唯一的API密钥。

但是当我按下应该拿着地图的标签时,我得到一个空屏幕:

The layout

包含地图的片段:

public class MyTripsFragment extends Fragment 
{

private SupportMapFragment fragment;
private GoogleMap map;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    {
        try{
            return inflater.inflate(R.layout.view_mytrips, container, false);
        }
        catch(Exception e){
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        FragmentManager fm = getChildFragmentManager();

        fragment = (SupportMapFragment) fm.findFragmentById(R.id.map);
        if(fragment == null)
        {
            fragment = SupportMapFragment.newInstance();
            map = fragment.getMap();
            fm.beginTransaction().replace(R.id.map, fragment).commit();
        }
}  

XML(我读过的内容不应该包含片段,因为我的viewpager,
IllegalStateException when replacing a Fragment

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:id="@+id/mapContainer">
    <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:id="@+id/map">
    </RelativeLayout>
</RelativeLayout>  

那我怎样才能让地图加载地图?我错过了一些小的东西,还是我错了?我尝试了很多不同的东西,但没有什么能让我得到我想要的东西。

0 个答案:

没有答案