inflater.inflate在创建菜单时无法解析位置

时间:2014-01-22 15:26:29

标签: java android android-layout

我正在尝试将数据添加到我的操作栏,因此我在菜单文件夹中创建了一个.xml文件,如官方andriod页面所示,然后我将此代码放入我的活动中:

 public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity_actions, menu);
    return super.onCreateOptionsMenu(menu);
}

这是我的菜单文件夹中的main_activity_actions:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- Search, should appear as action button -->
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_launcher"
          android:title="Search"
          android:showAsAction="ifRoom" />
    <!-- Settings, should always be in the overflow -->
    <item android:id="@+id/action_settings"
          android:title="Settings"
          android:showAsAction="never" />
</menu>

我的导入

    import java.text.DecimalFormat;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

我得到的错误是“main_activity_actions无法解析或不是字段”

1 个答案:

答案 0 :(得分:0)

这件事发生在我前面。在做任何事情之前,您可以尝试Project&gt; Clean以查看是否可以修复它,如果您很幸运,它会这样做。 R无法在两个条件下解析,第一个是导入android.R而第二个是你的xml代码中有错误导致无法生成R.java文件。如果你没有导入android.R这可能是你发生的事情。您可以通过查看gen文件来检查您的R.java文件是否存在。您也可能遇到构建工具的问题,但大部分时间情况并非如此,您只是搞砸了xml中的某个地方,但如果您愿意,可以尝试重新安装它们。你没有发布所有的xml所以我不能尝试帮助你找到错误,但我发现调试的最好方法是创建一个新的Android项目并开始将xml文件复制到其中,最终它会破坏和R.java文件将停止生成,你找到了你的坏xml。不是我知道的最好的调试解决方案,但它对我来说效果最好。

在尝试为自己解决这个问题时,我发现了一些有趣的事情: 在为xml中的事物分配ID时,应该在第一次引用id时使用@ + id,即使它在另一个标记中,并且@id应该在以后使用。此外,您需要确保何时右键单击项目&gt;构建路径&gt;配置构建路径必须按正确顺序排列。 Src然后gen然后私人库然后依赖(我不太了解这个,但从我读过它可能搞乱东西)。