为什么我的新资源不会添加到R类中显示的res /子文件夹中?

时间:2010-10-15 19:50:29

标签: android resources paint

我不明白为什么Eclipse不知道如何解析我定义的颜色资源。我做错了吗?

R.color.notepad_lines无法解析MyNewTextView.java

我之前也遇到过问题,因为eclipse能够在我的/ res / drawable目录中找到图像

/res/values/colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <color name="notepad_paper">#AAFFFF99</color>
 <color name="notepad_lines">#FF0000FF</color>
 <color name="notepad_margin">#90FF0000</color>
 <color name="notepad_text">#AA0000FF</color>
</resources>

MyNewTextView.java

...
 private Paint marginPaint;
 private Paint linePaint;
 private int paperColor;
 private float margin; 


 private void init(){
  //Get Reference to Resource Table
  Resources myRes = getResources();

  //Create paint brushes
  marginPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
  marginPaint.setColor(myRes.getColor(R.color.notepad_margin));

  linePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
  linePaint.setColor(myRes.getColor(R.color.notepad_lines));

  paperColor = myRes.getColor(R.color.notepad_paper);
  margin = myRes.getDimension(R.dimen.notepad_margin);
 }

...

Eclipse一直说它找不到任何R. * resources = /

R.java

public final class R {
    public static final class attr {
    }

public static final class color {
    public static final int notepad_lines=0x7f040001;
    public static final int notepad_margin=0x7f040002;
    public static final int notepad_paper=0x7f040000;
    public static final int notepad_text=0x7f040003;
}
public static final class dimen {
    public static final int notepad_margin=0x7f050000;
}
public static final class drawable {
    public static final int ic_menu_add=0x7f020000;
    public static final int ic_menu_cut=0x7f020001;
    public static final int ic_menu_king=0x7f020002;
    public static final int icon=0x7f020003;
}
...

4 个答案:

答案 0 :(得分:3)

我也遇到过这个问题,除非我让Eclipse创建文件,而是将XML文件放在 res / 下的某处。但我刚刚找到了解决方法: 在Project Explorer视图中,找到 res / values 目录,然后从右键菜单中选择刷新alt text

colors.xml 现在出现在资源管理器中, R.java 现在包含R.color类。重建它,你不自动重建。

答案 1 :(得分:2)

确保您没有导入提供的android资源类'import android.R',而是您自己生成的Resource类,例如import .R

答案 2 :(得分:1)

这可能是一个愚蠢的建议,但是...... MyNewTextView.java R.java 文件在同一个软件包名称中吗?如果没有,那么您需要通过import语句添加对包的引用。

答案 3 :(得分:1)

删除gen文件夹中的R.java文件...