我正在使用基本的android studio标签示例。我想知道你是否可以在每个标签上进行单独的活动?或者是用于什么片段。我有一个单独的简单谷歌地图应用程序(活动),我试图将其集成到选项卡示例中。我想知道在标签示例的这一部分中是否设置了相应的片段,如果我可以将意图放在那里的地图活动中?
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 :(得分:0)
这将教会您需要知道的一切: http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/
总结一下,在FragmentStatePagerAdapter getItem()方法中返回一个新的片段实例。这样的片段应该包含你的MapView。这样,您可以随意加载不同的片段(具有不同的布局)。
但请注意:上次我尝试以这种方式使用MapView时,它只是没有加载(只有一个空白网格)。我很肯定它与我的密钥无关,因为使用MapFragment(一种不同的方法)结果没问题。