为什么我一直收到此错误(无法解决)?

时间:2014-02-05 23:14:42

标签: java android

在我的一个课程中,我收到此错误:游戏无法解析或不是字段,当我启动应用程序时它说无法打开请再试一次,为什么我一直收到此错误,是否有错误与R.java?

public class GameActivity extends Activity {

Grid myView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    myView = new Grid(this);
    myView.setGame(new Game());
    setContentView(myView);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.game, menu);//error occurring here
    return true;
}}

r.java

/* AUTO-GENERATED FILE.  DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found.  It
* should not be modified by hand.
*/

package com.example.applicationprogrammingassignment;

public final class R {
public static final class anim {
    public static final int slide_in_left=0x7f040000;
    public static final int slide_out_left=0x7f040001;
}
public static final class attr {
}
public static final class dimen {
    /**  Default screen margins, per the Android Design guidelines. 

     Customize dimensions originally defined in res/values/dimens.xml (such as
     screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.

     */
    public static final int activity_horizontal_margin=0x7f050000;
    public static final int activity_vertical_margin=0x7f050001;
}
public static final class drawable {
    public static final int ic_launcher=0x7f020000;
}
public static final class id {
    public static final int action_settings=0x7f090003;
    public static final int btnHelp=0x7f090002;
    public static final int btnPlay=0x7f090000;
    public static final int btnScore=0x7f090001;
}
public static final class layout {
    public static final int activity_main=0x7f030000;
}
public static final class menu {
    public static final int main=0x7f080000;
}
public static final class string {
    public static final int action_settings=0x7f060001;
    public static final int app_name=0x7f060000;
    public static final int hello_world=0x7f060002;
}
public static final class style {
    /** 
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.


        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.


    Base application theme for API 11+. This theme completely replaces
    AppBaseTheme from res/values/styles.xml on API 11+ devices.

    API 11 theme customizations can go here. 

    Base application theme for API 14+. This theme completely replaces
    AppBaseTheme from BOTH res/values/styles.xml and
    res/values-v11/styles.xml on API 14+ devices.

    API 14 theme customizations can go here. 
     */
    public static final int AppBaseTheme=0x7f070000;
    /**  Application theme. 
    All customizations that are NOT specific to a particular API-level can go here. 
     */
    public static final int AppTheme=0x7f070001;
}
}

2 个答案:

答案 0 :(得分:0)

每次修改res目录中的资源时,都会自动编译R.java,但如果某个xml文件中存在错误,则不会更新。

仔细检查所有XML文件是否有错误(Lint应自动为您标记错误)。此外,请检查您必须确保它们有效的任何9个补丁。您可以暂时从名称中删除.9,以查看问题是否与9补丁格式有关。我遇到过9个补丁中的一些边界像素不是纯黑色或纯白色的情况,这导致R.java无法更新。

答案 1 :(得分:0)

如果您发布了整个R文件,似乎您还没有定义游戏菜单,唯一找到的菜单是main:

public static final class menu {
    public static final int main=0x7f080000;
}

如果您正确定义了菜单项,则需要使用R.menu.main,或者在res / menu中创建一个game.xml菜单文件。