Java的。布局无法解析或不是字段

时间:2012-03-31 20:24:14

标签: java android android-layout

您好我是Android编程和Eclipse的新手。我在以下程序中遇到错误“布局无法解析或不是字段”:

package com.esri.android.sample;

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

import com.esri.android.map.MapView;
import com.esri.android.map.ags.ArcGISDynamicMapServiceLayer;

import com.esri.android.R;

public class HelloWorldMapActivity extends Activity {
    MapView map = null;

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Retrieve the map and initial extent from XML layout
        map = (MapView)findViewById(R.id.map);
        // Add dynamic layer to MapView
        map.addLayer(new ArcGISDynamicMapServiceLayer("" +
            "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"));
        //Retrieve the non-configuration instance data that was previously returned.
        Object init = getLastNonConfigurationInstance();
        if (init != null) {
            map.restoreState((String) init);
        }
    }

    protected void onPause() {
        super.onPause();
        map.pause();
    }

    protected void onResume() {
        super.onResume();
        map.unpause();
    }
}

这些错误显示在语句setContentView(R.layout.main);map = (MapView)findViewById(R.id.map);

我不知道为什么会出现这些错误。知道这个程序有什么问题吗?

2 个答案:

答案 0 :(得分:1)

尝试清理并重建项目,R(主要资源)文件可能无法正常工作。

还要检查是否有一个名为main.xml的布局和一个具有id map的MapView。 并检查您是否导入了正确的R文件。

 import com.esri.android.R;

这似乎很可疑。

答案 1 :(得分:0)

我认为你不需要使用这一行:

import com.esri.android.R;

bcoz你只需要在res>布局中添加main.xml 并且R.java自动包含在生成的java文件夹中。因此,您不需要使用包名称导入它。 mapview也是如此。

这有用吗?