MapViewをXMLファイルに展開するときにエラーが発生する。 アクセストークンは正しいはずです。また、マニフェストにはテレマティクスも含まれています。私はマップボックスのこれらのバージョンを使用します'com.mapbox.mapboxsdk:mapbox-android-sdk:[email protected]'
レイアウトファイルでMapViewを拡張しようとするとエラーが発生する
私のレイアウトファイルです。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:mapbox="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.mapbox.mapboxsdk.maps.MapView
android:id="@+id/mapviewmapbox"
android:layout_width="match_parent"
android:layout_height="match_parent"
mapbox:access_token="@string/accessToken"
mapbox:center_latitude="40.73581"
mapbox:center_longitude="-73.99155"
mapbox:style_url="mapbox://styles/mapbox/streets-v9"
mapbox:zoom="11" />
</RelativeLayout>`
およびJavaファイル:
package de.example.navdrawemap_2.maptest.Maps;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import de.example.navdrawemap_2.maptest.R;
public class MapMapboxActivity extends AppCompatActivity {
private MapView mapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map_mapbox);
mapView = (MapView) findViewById(R.id.mapviewmapbox);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(MapboxMap mapboxMap) {
}});
}
/*
TextView textViewTitle = (TextView)findViewById(R.id.texttitel);
TextView textViewTitleBig = (TextView)findViewById(R.id.texttitel_big);
TextView textViewSnippet = (TextView)findViewById(R.id.textsnippet);
Intent intentbundleStrings = getIntent();
if (intentbundleStrings != null) {
textViewTitleBig.setText(intentbundleStrings.getStringExtra("title"));
// textViewTitle.setText(intentbundleStrings.getStringExtra("title"));
// Titel im Header nachtragen
textViewSnippet.setText(intentbundleStrings.getStringExtra("snippet"));
}else{
textViewTitle.setText(intentbundleStrings.getStringExtra("N.A."));
textViewSnippet.setText(intentbundleStrings.getStringExtra("N.A."));
} */
// Add the mapView lifecycle to the activity's lifecycle methods
@Override
public void onResume() {
super.onResume();
mapView.onResume();
}
@Override
public void onPause() {
super.onPause();
mapView.onPause();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
}
} `
Logcatは、次のことを示しています
06-21 15:46:06.753 13892-13892/de.example.navdrawemap_2.maptest E/AndroidRuntime: FATAL EXCEPTION: main
Process: de.example.navdrawemap_2.maptest, PID: 13892
java.lang.RuntimeException: Unable to start activity ComponentInfo{de.example.navdrawemap_2.maptest/de.example.navdrawemap_2.maptest.Maps.MapMapboxActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class com.mapbox.mapboxsdk.maps.MapView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5086)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.mapbox.mapboxsdk.maps.MapView
パッケージ名を追加してツール:コンテキストを ".Maps.MapMapboxActivity"に変更しましたが、2番目の方法では問題は解決しません。 – MTwain
@twain、私は完全に私の答えを変えました。これが正しければ受け入れてください。 – RobLabs
本当に涼しいです...私はSOとgithubのrealtivですが、今は大きな利点を知っています。 – MTwain