出现编译错误" activity_main"无法解决或未提交

时间:2014-04-07 21:14:46

标签: android eclipse mobile

我正在尝试使用一些SDK来检测我的Android应用程序,这使我能够在设备上测试我的移动应用程序。我需要在我的应用程序中创建一个MainActivity类,我有以下方法:

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

但是我收到以下编译错误:

  

“activity_main无法解析或不是字段”

我已经看过这方面的帖子,提供的解决方案是:

  

删除“import android.R;”

     

添加“import Application.package_name.R;

我这样做了如下:

import com.MyMobileApp.R

其中“com.MyMobileApp”是R.java所在的包名,但即使在重新构建\清理项目后错误仍然存​​在。

如果我提供要导入语句的应用程序的名称是无法解决的,我不认为它甚至是必要的,因为我在同一个应用程序中引用了一个包。

另外,我检查了R.java类,它是一个生成的文件,似乎无法修改,因为Eclipse给了我一个警告,说明该文件无法编辑。所以在布局下的R.java文件中,我没有看到任何“activity_main”。我在布局下的R.java类中有以下内容:

public static final class layout {
    public static final int cycleslistheader=0x7f030000;
    public static final int feedback=0x7f030001;
    public static final int login=0x7f030002;
    public static final int master=0x7f030003;
    public static final int overlay=0x7f030004;
    public static final int problem=0x7f030005;
    public static final int testcycle=0x7f030006;
    public static final int testcycles=0x7f030007;
    public static final int user=0x7f030008;
    public static final int userlistheader=0x7f030009; 

所以除了上面解释的解决方案之外,还有人应用任何解决方案。 感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

作为布局的一个简单示例,我们将其称为activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >


   <TextView
       android:id="@+id/hello_world"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@string/hello_world" />

   <Button 
       android:id="@+id/button"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@string/app_name" />

</LinearLayout>

进入eclipse,右键点击你的项目 - &gt;新 - &gt; Android XML文件。将其命名为activity_main.xml并将上述内容粘贴到其中。保存它,你很高兴。

布局的Android开发页面:http://developer.android.com/guide/topics/ui/declaring-layout.html

在onCreate()方法中,您正在调用setContentView(R.layout.activity_main);这告诉Android您希望活动的布局是您的activity_main.xml布局文件中的xml中描述的布局(在res文件夹的布局文件夹中)。如果你没有那个,那么它将无法使布局膨胀,你将得到错误。这将为您提供一个非常简单的视图,您可以根据需要更改项目。请注意,有大量的布局和视图,您甚至可以根据自己的需要制作自己的自定义布局和视图。