-2

我正在尝试创建一个显示地图视图的简单地图框应用程序。调试时没有显示特定错误,但应用程序在启动时崩溃。这是我创建的 .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 行:在 android.app.ActivityThread.performLaunchActivity 处膨胀类 com.mapbox.mapboxsdk.maps.MapView 时出错

4

4 回答 4

0

试着把这条线

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

在 setContentView 行并检查之后。

于 2017-09-14T12:40:04.303 回答
0

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

于 2017-09-14T12:42:00.390 回答
0

为了支持@aadhil 的回答,

尝试调整这条线

String.valueOf(R.string.access_token)

this.getResources().getString(R.string.access_token)
于 2022-01-21T15:07:56.730 回答
-1

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

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

你的问题应该得到解决。

于 2017-11-27T12:36:45.790 回答