2011-06-18 159 views
0

我的XML代码:Android应用程序错误

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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/mapView" 

       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:enable="true" 
       android:clickable="true" 
       android:apiKey="0THdCiXY7jaJ9Br1ZQahFE4Lu1xTv1hAiVJBvxQ" 
       /> 
</RelativeLayout> 

和清单是:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.google.haha" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <uses-sdk android:minSdkVersion="8" /> 

    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 


    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <uses-library android:name="com.google.android.maps"/> 
     <activity android:name=".NewActivity" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 
</manifest> 

这是主要代码:

package com.google.haha; 

import com.google.android.maps.GeoPoint; 
import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapController; 
import com.google.android.maps.MapView; 

import android.app.Activity; 
import android.os.Bundle; 

public class NewActivity extends MapActivity { 
    /** Called when the activity is first created. */ 

    MapController mControl; 
    GeoPoint GeoP; 
    MapView mapV; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mapV=(MapView)findViewById(R.id.mapView); 
     mapV.displayZoomControls(true); 
     mapV.setBuiltInZoomControls(true); 
     double lat=21.00; 
     double longi=79.00; 
     GeoP=new GeoPoint((int)(lat*1E6),(int)(longi*1E6)); 

     mControl=mapV.getController(); 
     mControl.animateTo(GeoP); 
     mControl.setZoom(12); 


    } 

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

一切都很好,但我得到的错误在线:

mapV=(MapView)findViewById(R.id.mapView); 

id字段无法识别。

+0

你知道这个问题出现了很多。我知道这与导入预编译资源文件夹有关。我从来没有弄清楚为什么有时我需要直接导入它,为什么有时候Eclipse会处理依赖关系。 – Prospero

+1

您应该首先清理项目,在主菜单中选择Project-> Clean。也许这会有所帮助。 – Egor

+0

我不太清楚您错误的含义,但您可以尝试清理该项目。这应该重新编译你的R.java文件。 – GuyNoir

回答

2

尝试清理和重建项目,因为这个问题有时Eclipse IDE的出现,你的MapView的ID无法识别您R.java文件:

项目==>清洁==>选择您的项目和Clic好

0
<com.google.android.maps.MapView 
    android:id="@+id/mapView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    **android:enable="true"** MUST BE android:enabled="true" 
    android:clickable="true" 
    android:apiKey="0THdCiXY7jaJ9Br1ZQahFE4Lu1xTv1hAiVJBvxQ" 
    /> 
</RelativeLayout>