2012-10-02 7 views
1

현재 미리 정의 된 탐색 유형 "탭 + 스 와이프"(처음 프로젝트를 만들 때 선택됨)를 사용하고 있습니다.FragmentActivity, ViewPager 및 MapActivity

세 개의 탭이 있으며 두 개의 목록보기와 하나의 MapActivity가 필요합니다. 나는 FragmentList로 목록보기 감사를 표시하는 succedded하지만 지금은 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); 
     } 
    } 

의 getItem 속으로 (INT를) 내 FragmentPagerAdapter에서 나는이 수행

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) 

어떻게해야합니까?

답변

2

이 링크를 살펴보십시오. 그것은 작업 예제와 함께 해결책을 가지고 있습니다. MapView in a Fragment (Honeycomb)

+0

링크를 삭제할 때 OP가 알아낼 수 있기를 바랄뿐 아니라 링크를 삭제해야합니다. – Eric

+0

그래, 몇 가지 설명 편리한 것입니다 :) 해당 파일을 추가하여 솔루션을 사용하려고 MyFragment MyMapFragment (단편 대신) 확장하지만 여전히 동일한 오류가 발생하고 있습니다 : ( – lost17

+0

내 나쁜, 좋은 작품 , 나는 방금 실수를했다. 마지막으로, 그것은 매우 간단했다, 고마워. :) – lost17