1

ビットマップをロードしてキャンバスに表示しようとしています。以前にこの方法を使用して実行しましたが、正常に機能しました。残念ながら、今回は問題が発生したため、問題を特定する方法がわかりません。

私のコードはここに到達します:

Log.d(TAG, "Loading bitmaps");
this.stageL=BitmapFactory.decodeResource(getResources(), R.drawable.stagel);
Log.d(TAG,"Bitmap loaded");
int stageLHeight = stageL.getHeight();
Log.d(TAG,String.valueOf(stageLHeight));

しかし、その後、logcatとの間で警告が表示されLoading bitmapsますBitmap Loaded。その後、アプリの力が閉じ、私はの値を見ることはありませんstageLHeight.

これがlogcatです:

11-07 15:22:50.182: DEBUG/LabSetup(613): Loading bitmaps
11-07 15:22:50.182: WARN/ResourceType(613): getEntry failing because entryIndex 3 is beyond type entryCount 1
11-07 15:22:50.182: WARN/ResourceType(613): Failure getting entry for 0x7f020003 (t=1 e=3) in package 0 (error -2147483647)
11-07 15:22:50.182: DEBUG/LabSetup(613): Bitmap loaded
11-07 15:22:50.222: WARN/dalvikvm(613): threadid=9: thread exiting with uncaught exception (group=0x40014760)
11-07 15:22:50.222: ERROR/AndroidRuntime(613): FATAL EXCEPTION: Thread-10
11-07 15:22:50.222: ERROR/AndroidRuntime(613): java.lang.NullPointerException
11-07 15:22:50.222: ERROR/AndroidRuntime(613):     at com.cjs.duallaseralignment.LabSetup.SetCanvasSize(LabSetup.java:53)
11-07 15:22:50.222: ERROR/AndroidRuntime(613):     at com.cjs.duallaseralignment.MainAppPanel.onDraw(MainAppPanel.java:136)
11-07 15:22:50.222: ERROR/AndroidRuntime(613):     at com.cjs.duallaseralignment.MainThread.run(MainThread.java:56)

そして、それが役に立つ場合には、R.java:

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int icon=0x7f020000;
        public static final int mag=0x7f020001;
        public static final int magr=0x7f020002;
        public static final int stagel=0x7f020003;
        public static final int stager=0x7f020004;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
        public static final int hello=0x7f040000;
    }
}
4

2 に答える 2

1

Logcatにエラーがあります。

11-07 15:22:50.222: ERROR/AndroidRuntime(613): at com.cjs.duallaseralignment.LabSetup.SetCanvasSize(LabSetup.java:53)

53行目を指摘できれば助かります。

画像のサイズを示すログが表示されないので、私はそれを推測します

int stageLHeight = stageL.getHeight();

53行目です。次の推測では、ロードされた画像はnullです。これは、イメージが存在しない場合、またはイメージをリソースファイルからデコードできない場合に発生する可能性があります。

于 2011-11-07T15:51:37.607 に答える
0

おやおや!

最後の手段として、プロジェクトから画像を削除して再度追加しました。変...

于 2011-11-07T15:50:31.797 に答える