2017-02-19 9 views
0

я следующее сообщение об ошибке поднимается:InflateException: Ошибка фрагмент класса раздувание, Binary XML Line # 1

com.example.thejdeep.healthpal E/AndroidRuntime: FATAL EXCEPTION: main 
                      Process: com.example.thejdeep.healthpal, PID: 21085 
                      java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.thejdeep.healthpal/com.example.thejdeep.healthpal.Hospitals}: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class fragment 
                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665) 
                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
                         at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                       at android.os.Looper.loop(Looper.java:154) 
                       at android.app.ActivityThread.main(ActivityThread.java:6119) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
                      Caused by: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class fragment 
                      Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class fragment 
                      Caused by: java.lang.RuntimeException: API key not found. Check that <meta-data android:name="com.google.android.geo.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml 
                       at com.google.maps.api.android.lib6.drd.r.b(:com.google.android.gms.DynamiteModulesB:115) 
                       at com.google.maps.api.android.lib6.auth.e.a(:com.google.android.gms.DynamiteModulesB:155) 
                       at com.google.android.gms.maps.internal.CreatorImpl.b(:com.google.android.gms.DynamiteModulesB:6074) 
                       at com.google.android.gms.maps.internal.CreatorImpl.newMapFragmentDelegate(:com.google.android.gms.DynamiteModulesB:72) 
                       at com.google.android.gms.maps.internal.i.onTransact(:com.google.android.gms.DynamiteModulesB:62) 
                       at android.os.Binder.transact(Binder.java:499) 
                       at uqw.newMapFragmentDelegate(:com.google.android.gms:179) 
                       at com.google.android.gms.maps.internal.CreatorImpl.newMapFragmentDelegate(:com.google.android.gms:99) 
                       at uqv.onTransact(:com.google.android.gms:62) 
                       at android.os.Binder.transact(Binder.java:499) 
                       at com.google.android.gms.maps.internal.zzc$zza$zza.zzI(Unknown Source) 
                       at com.google.android.gms.maps.SupportMapFragment$zzb.zzJy(Unknown Source) 
                       at com.google.android.gms.maps.SupportMapFragment$zzb.zza(Unknown Source) 
                       at com.google.android.gms.dynamic.zza.zza(Unknown Source) 
                       at com.google.android.gms.dynamic.zza.onInflate(Unknown Source) 
                       at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source) 
                       at android.support.v4.app.Fragment.onInflate(Fragment.java:1184) 
                       at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:3412) 
                       at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:120) 
                       at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:378) 
                       at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:33) 
                       at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:79) 
                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:777) 
                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
                       at android.view.LayoutInflater.inflate(LayoutInflater.java:377) 
                       at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:412) 
                       at android.app.Activity.setContentView(Activity.java:2414) 
                       at com.example.thejdeep.healthpal.Hospitals.onCreate(Hospitals.java:23) 
                       at android.app.Activity.performCreate(Activity.java:6682) 
                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618) 
02-19 14:27:36.110 21085-21085/com.example.thejdeep.healthpal E/AndroidRuntime:  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
                        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                       at android.os.Looper.loop(Looper.java:154) 
                       at android.app.ActivityThread.main(ActivityThread.java:6119) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 

Это мой исходный код:

public class Hospitals extends FragmentActivity implements OnMapReadyCallback{ 
private GoogleMap mMap; 
protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_hospitals); 
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 
} 
public void onMapReady(GoogleMap googleMap){ 
    mMap = googleMap; 
    LatLng sydney = new LatLng(-34, 151); 
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
} 
} 

А это мой XML-файл (R.layout.activity_hospitals):

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:map="http://schemas.android.com/apk/res-auto" 
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.thejdeep.healthpal.Hospitals" /> 

Это мой файл манифеста:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.thejdeep.healthpal"> 
<uses-permission  android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="@string/google_maps_key" /> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER"  /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".Home"></activity> 
    <activity android:name=".Hospitals"></activity> 
    <activity 
     android:name=".Restaurants" 
     android:label="Map"> 

    </activity> 
    <activity android:name=".ActivityTracker"></activity> 
</application> 

</manifest> 

Я попытался изменить андроид: имя для класса тоже, но он не работает. Я правильно настроил ключ API в качестве строкового значения.

Может кто-нибудь указать на то, что происходит в этом коде?

+0

Пожалуйста, измените вопрос и разместить весь стек Java след. Должно быть еще много строк после 'Caused by: android.view.InflateException: двоичная строка XML-файла # 1: двоичная строка XML-файла # 1: ошибка раздувания фрагмента класса, и они помогут определить, где именно происходит ошибка. – CommonsWare

+0

Добавлен полный журнал. Большое спасибо заблаговременно –

+0

'Caused by: java.lang.RuntimeException: ключ API не найден. Убедитесь, что находится в элементе AndroidManifest.xml' - по какой-то причине он делает не нравится, где находится ваш ключ API. – CommonsWare

ответ

0

В:

<meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="@string/google_maps_key" /> 

Попробуйте использовать фактическое значение api_key строки вместо @ строки/ссылки.

Если все будет в порядке, вы можете попробовать переместить этот ключ к XML и предоставить ссылку, как показано здесь: https://stackoverflow.com/a/30877372/1533933

+0

Большое вам спасибо. Это помогло! –

 Смежные вопросы

  • Нет связанных вопросов^_^