마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

맵이랑 프래그먼트 연동하다가 에러가 났는데 무슨에러인지 모르겠어요..

0 추천
안드로이드 맵을 프래그먼트로 바꾸고

탭을 이용해서 연동을 하려고 하는데 자꾸 에러나네요.ㅠ...ㅠ

탭으로 연동하지 않고 그냥 프래그먼트를 사용하면 제대로 실행되는데

탭으로 연동할때만 에러가 나요.. 혹시 무슨 에러인지 알수 있을까요??..

 

코드

public class Map extends Fragment implements OnMapClickListener,LocationListener,OnMarkerClickListener{

 MapFragment mapFragment;
 GoogleMap mGooglemap;
 LatLng my_location;
 double [] my_gps;
  
 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        View view = inflater.inflate(R.layout.map, container, false);
  mapFragment = (MapFragment)getFragmentManager().findFragmentById(R.id.mmap);
  mGooglemap = mapFragment.getMap();
  
  setUpMapIfNeeded();
  return view;
 }
 
 private void setUpMapIfNeeded(){ //맵이 켜져있는지 안켜져있는지 비교

  if(mGooglemap != null){
  setUpMap();
  }
 }

 
 private void setUpMap(){ //맵을 시작할때 seting 해줌

  my_gps = Mylocation.getMyLocation(getActivity());

  my_location = new LatLng(my_gps[0],my_gps[1]);
  
  mGooglemap.moveCamera(CameraUpdateFactory.newLatLngZoom(my_location, 15));
  
  mGooglemap.setOnMapClickListener(this);
  mGooglemap.setMyLocationEnabled(true);
  mGooglemap.getMyLocation();
  mGooglemap.setOnMarkerClickListener(this);
  }
 
 public void onMapClick(LatLng point) { //지도를 클릭 했을때 실행
  Toast.makeText(getActivity(), "위도 : " + point.latitude + "\n경도 : "+point.longitude,
  Toast.LENGTH_SHORT).show();
  }

 public void onLocationChanged(Location location) {}
 public void onProviderDisabled(String provider) { }
 public void onProviderEnabled(String provider) {}
 public void onStatusChanged(String provider, int status, Bundle extras) {}
 
 public boolean onMarkerClick(Marker marker) { // 마커를 클릭했을때 실행
  
  return true;
 }

 

연동 부분

 Map mf = new Map();
 

     FragmentTransaction transaction = getFragmentManager().beginTransaction();        
       transaction.add(R.id.tab_layout, mf);        
       transaction.commit();
     tabhost.setCurrentTab(3);

 

 

로그

05-23 18:53:57.466: D/AndroidRuntime(31057): Shutting down VM
05-23 18:53:57.466: W/dalvikvm(31057): threadid=1: thread exiting with uncaught exception (group=0x417972a0)
05-23 18:53:57.496: E/AndroidRuntime(31057): FATAL EXCEPTION: main
05-23 18:53:57.496: E/AndroidRuntime(31057): java.lang.RuntimeException: Unable to start activity ComponentInfo{project.coffee/project.coffee.CoffeeTab}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.ActivityThread.access$700(ActivityThread.java:140)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.os.Looper.loop(Looper.java:137)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.ActivityThread.main(ActivityThread.java:4921)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at java.lang.reflect.Method.invokeNative(Native Method)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at java.lang.reflect.Method.invoke(Method.java:511)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at dalvik.system.NativeStart.main(Native Method)
05-23 18:53:57.496: E/AndroidRuntime(31057): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at project.coffee.Map.onCreateView(Map.java:58)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:829)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.BackStackRecord.run(BackStackRecord.java:635)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1399)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.Activity.performStart(Activity.java:5215)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2083)
05-23 18:53:57.496: E/AndroidRuntime(31057):  ... 11 more
05-23 18:53:57.496: E/AndroidRuntime(31057): Caused by: java.lang.RuntimeException: API key not found.  Check that <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml
05-23 18:53:57.496: E/AndroidRuntime(31057):  at maps.aj.ay.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at maps.aj.ay.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at maps.aj.al.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at maps.aj.bf.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at maps.aj.be.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at bcw.onTransact(SourceFile:107)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.os.Binder.transact(Binder.java:326)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onCreateView(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at com.google.android.gms.maps.MapFragment$a.onCreateView(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at com.google.android.gms.internal.bb$4.b(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at com.google.android.gms.internal.bb.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at com.google.android.gms.internal.bb.onCreateView(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at com.google.android.gms.maps.MapFragment.onCreateView(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:807)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1013)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1112)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.app.Activity.onCreateView(Activity.java:4857)
05-23 18:53:57.496: E/AndroidRuntime(31057):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
05-23 18:53:57.496: E/AndroidRuntime(31057):  ... 21 more
오징어껍질 (140 포인트) 님이 2013년 5월 23일 질문

1개의 답변

0 추천

Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment

플레그먼트에서 생성하는 뷰 레이아웃 6번째 라인이 잘못됐다네요.

congbab (5,140 포인트) 님이 2013년 5월 23일 답변
음.... 그게 무슨말씀이신지....ㅠㅠ..
...