2013-07-07 161 views
0

我有一个选项卡,我想加载一个地图在这个选项卡的片段,但我有一些我无法解决的错误。谷歌地图v2加载在片段

这是我

MainActivity extends FragmentActivity 

private void initViewPager() { 
//  SupportMapFragment mMapFragment; 
//  mMapFragment = ((SupportMapFragment) getSupportFragmentManager() 
//    .findFragmentById()); 
     // 0. creamos una lista de fragment (vistas) 
     List<Fragment> fragments = new ArrayList<Fragment>(); 
     //fragments.add(new TabChat()); 
     fragments.add(new TabMapa()); 
     //fragments.add(new TabInformacion()); 

     // 1. iniciamos el viewpager 
     this.mViewPager = (ViewPager) findViewById(R.id.viewpager); 

     // 2. creamos el adapter, que tambien implementara onPageChangeListener 
     PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(), 
       fragments); 

     // 3. suscribimos adapter y listener del viewpager 
     this.mViewPager.setAdapter(adapter); 
     this.mViewPager.setOnPageChangeListener(adapter); 
    } 

TabMapa

public class TabMapa extends Fragment { 
private GoogleMap gmap; 


public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.tab_mapa); 
    initGMap(); 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    View myFragmentView = inflater.inflate(R.layout.tab_mapa, 
      container, false); 
    initGMap(); 
    return myFragmentView; 
} 
private void initGMap() { 
    // obtenemos el mapa desde el fragment 
    gmap = ((SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.gmap)).getMap(); 
} 
    } 

xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context=".Mapa" > 

    <fragment 
     android:id="@+id/gmap" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     class="com.google.android.gms.maps.SupportMapFragment" /> 

</LinearLayout> 
+0

什么是错误? – Raghunandan

+0

错误是在getSupportFragmentManager()中,TabMap应该扩展FragmentActivity来解决它,但是如果我从FragmentActivity扩展,我在加载Fragment的时候出错,这里是fragments.add(new TabMapa()); – lexell

回答

0

你试试这个?

import android.support.v4.app.FragmentActivity; 

在你做这个右键项目 - >属性 - > buildpath-> Java构建路径 - >库..然后点击添加外部JAR

的去

用户\ Android的软件开发工具包\演员\机器人\ SUPPORT \ V4

,并选择Android的支持,v4.jar

+0

是的,我做到了,问题在于Tab,需要一个Fragment和Map需要一个FragmentActivity,我知道我可以用SupportMapFragment解决它,但我不知道如何使用它以及我必须在哪里放置它 – lexell

相关问题