андроид.вид.InflateException, ошибка раздувания фрагмента класса

Я знаю, что это повторение, но не могу найти решение. Это мой XML-файл карты

activity_map

<RelativeLayout 

android_layout_height="match_parent"
android_layout_width="match_parent"
android_orientation="vertical">
<fragment 


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>

Это фрагмент my MapActivity (on setContentView), где происходит ошибка:
MapActivity расширяет FragmentActivity

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

И мой Logcat

 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) 

Ваша помощь будет очень признательна.
Я пытался изменить макет activity_map на LinearLayout, RelativeLayout и Framelayout, но ничего не работает. Попытался добавить android: name или class к фрагменту в строке 15 activity_map.

2 ответа

  1. Вы заявили об этом в своем Манифесте.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" />
    
  2. Проблема в том, что ваш второй тег фрагмента не имеет определенного класса фрагмента, а затем NullPointerException запускается, потому что платформа Android ожидает, что класс будет загружен там. Вы должны избавиться от этого тега (если он вам не нужен), добавить класс фрагментов для загрузки или использовать динамический подход к загрузке фрагментов, если вы хотите добавить туда динамический фрагмент. Проверьте это руководство официальных документов .