0

これは私の 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 タブに追加するのはかなり難しいと思います。何か助けはありますか?

4

1 に答える 1

0

このリンクが役立つ場合があります。

11 未満の API レベルでもフラグメントを実装できます。これを行うには、次の手順に従う必要があります。- android-support-v4.jar をプロジェクトに追加します。この jar は SDK-PATH/extras/android/compatibility/v4/ にあります。これをプロジェクトのルートにある libs フォルダーにコピーし、プロジェクトのビルド パスに追加します。Activity の代わりに FragmentActivity を使用します。FragmentManager を取得するには、getFragmentManager の代わりに getSupportFragmentManager を使用します。

于 2012-12-03T10:18:13.913 に答える