【问题标题】:R cannot be resolved to a variable in androidR无法解析为android中的变量
【发布时间】:2018-05-17 22:38:56
【问题描述】:

我按照 http://developer.android.com/training/basics/actionbar/adding-buttons.html#Respond,但是我收到一个错误,即 R 无法解析为变量。我尝试使用 import android.R; 来导入 R;但似乎一旦我做了那个activity_main、main、action_search和action_setting就变成了“无法解决或不是一个字段”。不知道我哪里出错了。

package com.miracle.forth;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class MainActivity extends Activity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {   
        //Handle presses on the action bar items 
        switch (item.getItemId())  {
          case R.id.action_search:
            openSearch();
            return true;
          case R.id.action_settings:
            openSetting();
            return true;
        default:
            return super .onOptionsItemSelected(item);
        }
    }

    private void openSearch() {
        // TODO Auto-generated method stub

    }

    private void openSetting() {
        // TODO Auto-generated method stub

    }
}

【问题讨论】:

  • 您需要导入自己的资源文件。但我猜你的 res 文件夹有错误,这就是你的 R 无法解析的原因。
  • 您确定您的资源文件名中没有无效字符,例如数字、大写字母、连字符...?此外,仔细检查所有 xml 文件中是否存在最小的错误。
  • 感谢您的回答,我已经解决了这个问题。

标签: android android-actionbar


【解决方案1】:

检查 R.java 是否属于包命名空间 com.miracle.forth。但是如果包名称不同,则必须导入 com.miracle.forth.R。

如果 java 文件和 R.java 属于同一个包命名空间,那么清理你的项目并重新启动 eclipse。

还要检查你的 xml 文件。如果你的 xml 文件有任何错误,那么 R.java 将不会生成。

【讨论】:

  • 找到了错误的来源,但不确定是什么问题 res/menu/main.xml 文件没有显示任何错误,除了控制台显示错误:解析 XML 时出错:重复属性跨度>
  • 在纠正我的拼写错误后,我解决了问题。
【解决方案2】:

检查命名约定

您在 Drawble-mdpi 或 hdpi 文件夹中的图像名称中大写或编号 您在 .xml 文件中使用后一个大写字母

首先纠正这个错误,然后新的 R 文件将生成并删除错误

【讨论】:

  • 我检查了一些.xml文件中的拼写错误,但仍然无法生成R文件。我相信问题出在 res/menu/main.xml 文件本身不包含任何错误但控制台显示错误:解析 XML 时出错:重复属性
  • 从文件中删除expect id -- res/menu/main.xml
  • 在纠正我的拼写错误后,我解决了问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多