在Android中使用谷歌地图时出现Java空指针异常


package com.crumbin.tabs;
import java.util.ArrayList;
import java.util.HashMap;
import org.apache.http.client.HttpClient;
import android.content.Context;
import android.database.Cursor;
import android.location.Location;
import android.location.LocationManager;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.webkit.WebView;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;

public class ExploreActivity extends MapActivity {


  public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(com.app.main.R.layout.user_main_tab_explore);


        MapView mv = (MapView)findViewById(com.app.main.R.id.myMapView);
        mv.setBuiltInZoomControls(true);



      }
@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}
}

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <com.google.android.maps.MapView
  android:id="@+id/myMapView"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:enabled="true"
  android:clickable="true"
  android:apiKey="Mykey"/>
  </LinearLayout>

这段代码给了我一个java空指针异常。我调试了它,发现Mapview mv为空。

这段代码不应该只显示地图而不显示叠加/数据吗?还是我在这里错过了什么?

此行 MapView mv = (MapView)findViewById(com.app.main.R.id.myMapView);需要 MapView mv = (MapView)findViewById(R.id.myMapView);

为了解释更多,当您需要从您自己的包中的 R 类请求它时,您正在请求包 com.app.main 中 R 类上的视图的 ID,这可以省略。

最新更新