2013年3月10日日曜日

レイアウトエディタのリソース参照エラー


グラフィックスライブラリによる描画において、その描画をeclipseのレイアウトエディタで確認しようとすると、以下のエラーが出力されて、悩んでしまうことがあります。

android.content.res.Resources$NotFoundException: Could not resolve resource value: 0x7F05000A.

これは、指定したリソースが参照できないというエラーです。

リソースの定義は、以下のように正しく行っています。

/res/values/color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
     <!-- Top Page用 -->
     <color name="tile_light">#4169e1</color>
     <color name="tile_dark">#0000cd</color>
     <color name="tile_char">#ffffff</color>
</resources>


R.javaファイルにもリソースIDが保存されているようです。

public static final class color {
    public static final int tile_char=0x7f05000b;
    public static final int tile_dark=0x7f05000a;
    public static final int tile_light=0x7f050009;
}


色を指定方法にも問題はないです。

private Paint mPaint = new Paint ();

mPaint.setColor(getResources().getColor(R.color.tile_dark));


このように、何も問題がないように思われるのに、レイアウトエディタで確認してみると、エラーになってしまう場合は、eclipseを再起動してみてください。

eclipseの再起動によりレイアウトエディタにリソースが認識されて、正しく描画されるようになります。

0 件のコメント:

コメントを投稿