0

나는 이것이 반복이지만, 해결책을 찾을 수 없다는 것을 알고있다. 이이 오류가 발생합니다 (된 setContentView에) 내 MapActivity 니펫을 내지도 XML 파일android.view.InflateException, 클래스 조각 inflating 오류

activity_map

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:map="http://schemas.android.com/apk/res-auto" 
android:layout_height="match_parent" 
android:layout_width="match_parent" 
android:orientation="vertical"> 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 

xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/map" 
android:name="com.google.android.gms.maps.SupportMapFragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.test.healthapp.MapActivity" /> 
<fragment 
    android:id="@+id/fragment_bottom" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 

    /> 
</RelativeLayout> 

입니다 : MapActivity가 FragmentActivity

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_map); 

그리고 내 로그 캣을 확장하고

FATAL EXCEPTION: main 
                     Process: com.example.ather.healthapp, PID: 10185 
                     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ather.healthapp/com.example.ather.healthapp.MapActivity}: android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class fragment 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                      at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:148) 
                      at android.app.ActivityThread.main(ActivityThread.java:5417) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                      Caused by: android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class fragment 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                      at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) 
                      at android.app.Activity.setContentView(Activity.java:2172) 
                      at com.example.ather.healthapp.MapActivity.onCreate(MapActivity.java:97) 
                      at android.app.Activity.performCreate(Activity.java:6251) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
                      at android.app.ActivityThread.-wrap11(ActivityThread.java)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:148)  
                      at android.app.ActivityThread.main(ActivityThread.java:5417)  
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
                      Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class fragment 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
                      at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)  
                      at android.app.Activity.setContentView(Activity.java:2172)  
                      at com.example.ather.healthapp.MapActivity.onCreate(MapActivity.java:97)  
                      at android.app.Activity.performCreate(Activity.java:6251)  
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
                      at android.app.ActivityThread.-wrap11(ActivityThread.java)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:148)  
                      at android.app.ActivityThread.main(ActivityThread.java:5417)  
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
                      Caused by: java.lang.NullPointerException 
                      at java.lang.VMClassLoader.findLoadedClass(Native Method) 
                      at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:362) 
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:499) 
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
                      at android.support.v4.app.Fragment.isSupportFragmentClass(Fragment.java:466) 
                      at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2379) 
                      at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:120) 
                      at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:376) 
                      at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:33) 
                      at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:75) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:754) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
                      at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)  
                      at android.app.Activity.setContentView(Activity.java:2172)  
                      at com.example.ather.healthapp.MapActivity.onCreate(MapActivity.java:97)  
                      at android.app.Activity.performCreate(Activity.java:6251)  
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  

귀하의 도움은 많은 감사 할 것입니다. iated. activity_map의 레이아웃을 LinearLayout, RelativeLayout 및 Framelayout으로 변경하려고했지만 아무 것도 작동하지 않습니다. activity_map의 15 번째 줄에있는 조각에 이름이나 클래스를 추가하려고 시도했습니다.

+0

두 번째 조각 태그에 조각 클래스가 정의되지 않았습니다. 따라서 널 포인터 예외. – josemgu91

+0

두 번째 조각에 android : name = "com.google.android.gms.maps.SupportMapFragment"를 추가해야합니까? – AIS

+0

아니요, 적어도 두 개의지도를 표시하고 싶습니다. 거기에 단편을 원하지 않으면 그 태그를 제거하십시오. 다른 조각을 동적으로 추가하려면 코드에서 FragmentManager를 사용하여 조각을 추가하고 레이아웃에서는 정적으로 추가하지 마십시오. – josemgu91

답변

0

Manifest.xml 파일에 선언 했습니까?

<application> 요소 내에 선언하면 코드가 작동합니다.

<meta-data 
    android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" /> 

또한

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
+0

예, 이미 있습니다. – AIS

0

문제는 두 번째 조각 태그는 안드로이드 프레임 워크 클래스가이로드 될 것으로 예상하기 때문에 조각 클래스 정의가는, NullPointerException가 시작될하지 않은 것입니다. 해당 태그를 제거해야합니다 (필요하지 않은 경우).로드 할 조각 클래스를 추가하거나 조각을 동적으로 추가하려는 경우 동적 조각로드 방식을 사용하십시오. 이 guide of the official docs을 확인하십시오.

관련 문제