- 217 名前:182 mailto:sage [2012/01/17(火) 10:44:58.51 ]
- すまん、やりたい事はこれなんだ
リソースの取得を試みて、もしリソースが見つからなかったらエラーメッセージを表示後 ただちに終了したい Drawable resGetDrawable(String targetName) { Drawable drawable = null; try { Resources r = getResources(); int id = r.getIdentifier(targetName, "drawable", getPackageName()); if(id == 0) throw new Exception("画像ファイル \"res/drawable-*/" + targetName + "\" が見つかりません。"); drawable = r.getDrawable(id); } catch(Exception e) { showMessage("resGetDrawable", "次の例外が発生しました:\n\n" + e.toString()); android.os.Process.killProcess(android.os.Process.myPid()); } return drawable; } void doSomething() { Drawable drawable = resGetDrawable("aaa"); Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap(); } このコードのままではダイアログが表示される前に killProcess() が動いてしまって意味 無いし、>>187 のやり方ではダイアログが表示される前に resGetDrawable() の呼出し後 にその戻り値が使われてしまうので問題がある resGetDrawable() の結果を if 文や try 文で判定するのは、煩雑になるのでできれば やりたくない >>199の言うように無限ループ作った結果が>>182だよ
|

|