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)
를
어떻게해야합니까?
링크를 삭제할 때 OP가 알아낼 수 있기를 바랄뿐 아니라 링크를 삭제해야합니다. – Eric
그래, 몇 가지 설명 편리한 것입니다 :) 해당 파일을 추가하여 솔루션을 사용하려고 MyFragment MyMapFragment (단편 대신) 확장하지만 여전히 동일한 오류가 발생하고 있습니다 : ( – lost17
내 나쁜, 좋은 작품 , 나는 방금 실수를했다. 마지막으로, 그것은 매우 간단했다, 고마워. :) – lost17