【问题标题】:Google Maps v2 loading in a FragmentGoogle Maps v2 在片段中加载
【发布时间】:2023-03-30 17:39:01
【问题描述】:

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

这是我的

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>

【问题讨论】:

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

标签: android google-maps tabs android-fragments


【解决方案1】:

你试过了吗?

import android.support.v4.app.FragmentActivity;

执行此操作之前右键单击项目->属性->构建路径->java构建路径->库..然后单击添加外部jar

前往

用户\android-sdks\extras\android\support\v4

然后选择android-support-v4.jar

【讨论】:

  • 是的,我做到了,问题是 Tab 需要 Fragment 而 Map 需要 FragmentActivity,我知道我可以使用 SupportMapFragment 解决它,但我不知道我必须如何使用它和我必须把它放在哪里
猜你喜欢
  • 2013-06-03
  • 2014-06-02
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多