1

現在、定義済みのナビゲーション タイプ「タブ + スワイプ」を使用しています (最初にプロジェクトを作成したときに選択しました)。

3 つのタブがあり、2 つのリストビューと 1 つの MapActivity が必要です。FragmentList のおかげでリストビューの表示に成功しましたが、今は MapActivity を表示しようとしていて、コードがまったく機能しません:/

これが私が追加したものです:

public static class MyFragment extends Fragment {
        int idList;

        private MapView map=null;
        private MyLocationOverlay me=null;

        static MyFragment newInstance(int num) {
            MyFragment f = new MyFragment();

            Bundle args = new Bundle();
            args.putInt("num", num);
            f.setArguments(args);

            return f;
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {

            return(new FrameLayout(getActivity()));
        }

        @Override
        public void onActivityCreated(Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);

            map = new MapView(getActivity(), "xxxxxxxxxx");
            map.setClickable(true);

            Drawable marker=getResources().getDrawable(R.drawable.ic_action_search);
            marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());

            map.getOverlays().add(new ItemizedOverlay(marker, getActivity()));

            me = new MyLocationOverlay(getActivity(), map);
            map.getOverlays().add(me);

            ((ViewGroup)getView()).addView(map);
        }
    }

FragmentPagerAdapter の getItem(int) に、次のようにします。

public Fragment getItem(int position) {
    if(position == 0)
       return MyFragment.newInstance(0);
}

そして、私はこのエラーを受け取りました:

10-02 18:28:41.618: E/AndroidRuntime(23677): FATAL EXCEPTION: main
10-02 18:28:41.618: E/AndroidRuntime(23677): java.lang.IllegalArgumentException: MapViews can only be created inside instances of MapActivity.
10-02 18:28:41.618: E/AndroidRuntime(23677):    at com.google.android.maps.MapView.<init>(MapView.java:291)
10-02 18:28:41.618: E/AndroidRuntime(23677):    at com.google.android.maps.MapView.<init>(MapView.java:235)

私は何をすべきかについて何か考えはありますか?

4

0 に答える 0