2015-01-08 75 views
0

我正在使用基本的android studio標籤示例。我想知道每個標籤上是否可以有單獨的活動?或者是用什麼片段。我有一個單獨的簡單的谷歌地圖應用程序(活動),我試圖集成到標籤示例中。我想知道是否在標籤示例的這部分中,如果我可以將意圖映射到地圖活動,那麼在哪裏設置相應的片段?GoogleMaps在標籤頁中查看

public class SectionsPagerAdapter extends FragmentPagerAdapter { 

     public SectionsPagerAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      // getItem is called to instantiate the fragment for the given page. 
      // Return a PlaceholderFragment (defined as a static inner class below). 
      return PlaceholderFragment.newInstance(position + 1); 
     } 

     @Override 
     public int getCount() { 
      // Show 3 total pages. 
      return 3; 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      Locale l = Locale.getDefault(); 
      switch (position) { 
       case 0: 
        return getString(R.string.title_section1).toUpperCase(l); 
       case 1: 
        return getString(R.string.title_section2).toUpperCase(l); 
       case 2: 
        return getString(R.string.title_section3).toUpperCase(l); 
      } 
      return null; 
     } 
    } 

這是基本的地圖活動

public class MapsView extends FragmentActivity { 

    private GoogleMap mMap; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps_view); 
     setUpMapIfNeeded(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     setUpMapIfNeeded(); 
    } 

    private void setUpMapIfNeeded() { 
     if (mMap == null) { 
      mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) 
        .getMap(); 
      if (mMap != null) { 
       setUpMap(); 
      } 
     } 
    } 

    private void setUpMap() { 
     mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker")); 
    } 
} 

和地圖視圖

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/map" 
    android:name="com.google.android.gms.maps.SupportMapFragment" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MapsView" /> 

我想,如果我沒有做任何意義上,我真的只是想一些指導相應的片段將地圖整合到標籤視圖中的最佳方式。

+0

老學校的方式(3.0之前)將是每個標籤1活動。現在它通常是通過碎片來完成的。 –

+0

那麼,如果我不介意,我會如何使用該片段將其彈出到其中一個選項卡中? – erp

回答

0

這會教你,你需要知道的一切: http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/

概括起來講,你的FragmentStatePagerAdapter的getItem()方法返回內部新片段實例。這樣的片段應該包含你的MapView。這樣,您可以隨意加載不同的碎片(使用不同的佈局)。

儘管如此:上次我嘗試使用MapView這種方式,它根本沒有加載(只有一個空白的網格)。我很積極,它與我的密鑰無關,因爲使用MapFragment(一種不同的方法)證明是正確的。