Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android MapController使我的应用程序崩溃_Java_Android_Eclipse_Google Maps - Fatal编程技术网

Java Android MapController使我的应用程序崩溃

Java Android MapController使我的应用程序崩溃,java,android,eclipse,google-maps,Java,Android,Eclipse,Google Maps,我正在创建mapView活动,由于某些原因,此代码不起作用: @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); this.setContentView(R.layout.map_view); MapView mapView = (MapView)this.findViewById(R.layout.map_view); Map

我正在创建mapView活动,由于某些原因,此代码不起作用:

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.map_view);
    MapView mapView = (MapView)this.findViewById(R.layout.map_view);
    MapController mapController = mapView.getController();
这一行导致应用程序崩溃:

MapController mapController = mapView.getController();
当我将该行取出时,应用程序会正常工作,但当我将其放入时,它会在我启动活动时崩溃,并显示错误消息:

07-05 21:27:24.857: E/AndroidRuntime(23801): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.uie.top25.seattle/com.uie.top25.seattle.MapDetailActivity}: java.lang.NullPointerException
以下是我对mapView的调用:

@Override
protected void onCreate(Bundle savedInstanceState)
{

    super.onCreate(savedInstanceState);

    this.setContentView(R.layout.detail);
    Bundle bundle = this.getIntent().getExtras();
    ListData listdata = bundle.getParcelable("uie.top25.seattle.listdata");

    // int itemId = this.getIntent().getIntExtra(DiningActivity.ITEM_ID, -1);
    String itemTitle = listdata.getTitle();
    int itemNum = listdata.getItem();
    String sHead = listdata.getSubhead();
    String dText = listdata.getDetailText();
    final float latitude = listdata.getLatitude();
    final float longitude = listdata.getLongitude();
    Log.i(TAG, "Title that is set : " + itemTitle);
    Log.i(TAG, "Item Number that is set : " + itemNum);
    Log.i(TAG, "Latitude that is set : " + latitude);
    Log.i(TAG, "Longitude that is set : " + longitude);
    if (itemNum >= 0)
    {

        TextView tView = (TextView) this.findViewById(R.id.textTitle);
        tView.setText(itemTitle);
        TextView nView = (TextView) this.findViewById(R.id.itemNumber);
        nView.setText("" + itemNum);
        TextView subHead = (TextView) this.findViewById(R.id.textSubheader);
        subHead.setText(sHead);
        TextView details = (TextView) this.findViewById(R.id.itemDescription);
        details.setText(dText);
        ImageButton mapButton = (ImageButton) this.findViewById(R.id.mapButton);
            mapButton.setOnClickListener(new View.OnClickListener() {
                             //this is where I call my mapView from
                @Override
                public void onClick(View v)
                {
                    Intent mapIntent = new Intent(DetailActivity.this, MapDetailActivity.class);
                    //mapIntent.putExtra("uie.top25.seattle.listlat", latitude);
                    //mapIntent.putExtra("uie.top25.seattle.longitude", longitude);

                    startActivity(mapIntent);

                }
            });
    }
}
}


谁能告诉我我做错了什么

问题出在这一行

 MapView mapView = (MapView)this.findViewById(R.layout.map_view);
您正在使用Linding Layout
mapView
无法初始化,请尝试使用ID进行更改,即

 MapView mapView = (MapView)this.findViewById(R.id.map_view);

问题就在这方面

 MapView mapView = (MapView)this.findViewById(R.layout.map_view);
您正在使用Linding Layout
mapView
无法初始化,请尝试使用ID进行更改,即

 MapView mapView = (MapView)this.findViewById(R.id.map_view);

你能试着换一下这一行吗

 MapView mapView = (MapView)this.findViewById(R.layout.map_view);
关于这一点:

 MapView mapView = (MapView)this.findViewById(R.id.<your mapView Id>);
MapView MapView=(MapView)this.findViewById(R.id.);

您能试着更换这一行吗:

 MapView mapView = (MapView)this.findViewById(R.layout.map_view);
关于这一点:

 MapView mapView = (MapView)this.findViewById(R.id.<your mapView Id>);
MapView MapView=(MapView)this.findViewById(R.id.);

谢谢!真不敢相信我错过了!非常感谢。真不敢相信我错过了!