这是我的MapFragment:
public class MapFragment extends SherlockFragment {
public static final String TAG = "mapFragment";
public MapFragment() {}
@Override
public void onCreate(Bundle arg0) {
super.onCreate(arg0);
setRetainInstance(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup vg, Bundle data) {
// The Activity created the MapView for us, so we can do some init stuff.
Exchanger.mMapView.setClickable(true);
Exchanger.mMapView.setBuiltInZoomControls(true); // If you want.
/*
* If you're getting Exceptions saying that the MapView already has
* a parent, uncomment the next lines of code, but I think that it
* won't be necessary. In other cases it was, but in this case I
* don't this should happen.
*/
/*
* final ViewGroup parent = (ViewGroup) Exchanger.mMapView.getParent();
* if (parent != null) parent.removeView(Exchanger.mMapView);
*/
return Exchanger.mMapView;
}
}
This is my LocationTabActivity:
public class LocationTabActivity extends RoboSherlockMapActivity implements ActionBar.TabListener{
private MapFragment mMapFragment;
private MyListFragment mMyListFragment;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Exchanger.mMapView = (MapView)findViewById(R.id.mapView1);
getSupportActionBar()
.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab newTab0 = getSupportActionBar().newTab();
newTab0.setText("Location");
ActionBar.Tab newTab1 = getSupportActionBar().newTab();
newTab1.setText("Map");
newTab0.setTabListener(this);
newTab1.setTabListener( this);
getSupportActionBar().addTab(newTab0);
getSupportActionBar().addTab(newTab1);
}
我发现将片段添加到Android选项卡非常困难。有帮助吗?
答案 0 :(得分:0)
此link可能会对您有所帮助。
您也可以在低于11的API级别中实现片段。为此,您需要执行以下步骤: - 将android-support-v4.jar添加到您的项目中。在SDK-PATH / extras / android / compatibility / v4 /中找到这个jar。将其复制到项目根目录中的libs文件夹中,并将其添加到项目构建路径中。使用FragmentActivity而不是Activity。要使FragmentManager使用getSupportFragmentManager而不是getFragmentManager。