启动

时间:2017-09-14 12:26:00

标签: android mapbox mapbox-android

我正在尝试创建一个显示mapview的简单mapbox应用程序。调试时没有显示特定错误,但启动时应用程序崩溃。这是我创建的.java文件。

public class MainActivity extends AppCompatActivity {

private MapView mapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Mapbox.getInstance(this,String.valueOf(R.string.access_token));

    setContentView(R.layout.activity_main);
    mapView=(MapView)findViewById(R.id.mapView);
    mapView.onCreate(savedInstanceState);

    mapView.getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(MapboxMap mapboxMap) {

        }
    });
}

@Override
protected void onStart() {
    super.onStart();
    mapView.onStart();
}

@Override
protected void onResume() {
    super.onResume();
    mapView.onResume();
}

@Override
protected void onPause() {
    super.onPause();
    mapView.onPause();
}
}

这是我的.xml文件

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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:id="@+id/activity_main"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
tools:context="com.example.logusubramaniyan.choropleth1.MainActivity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!" />
<com.mapbox.mapboxsdk.maps.MapView
    android:id="@+id/mapView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    mapbox:mapbox_cameraTilt="20"
    mapbox:mapbox_cameraZoom="12"/>
</LinearLayout>

我不明白为什么在模拟器或任何设备上运行时无法启动活动。有什么想法吗?

这是我的StackTrace结果。

致命的例外:主要                                                                                           处理:com.example.logusubramaniyan.choropleth1,PID:17191                                                                                           java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.logusubramaniyan.choropleth1 / com.example.logusubramaniyan.choropleth1.MainActivity}:android.view.InflateException:二进制XML文件行#16:二进制XML文件行#16 :错误膨胀类com.mapbox.mapboxsdk.maps.MapView                                                                                               在android.app.ActivityThread.performLaunchActivity

3 个答案:

答案 0 :(得分:0)

尝试放入此行

 Mapbox.getInstance(this,String.valueOf(R.string.access_token));

在setContentView行之后并检查。

答案 1 :(得分:0)

尝试添加访问令牌以在布局中查看: mapbox:access_token="access_token"

答案 2 :(得分:-1)

String.valueOf()没有将其正确转换为字符串值,因此无法正确读取访问令牌。

尝试直接粘贴访问令牌而不是给它是R.string.something。

你的问题应该得到解决。