現在、定義済みのナビゲーション タイプ「タブ + スワイプ」を使用しています (最初にプロジェクトを作成したときに選択しました)。
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)
私は何をすべきかについて何か考えはありますか?