Eclips SDKを使用して、Androidのアプリの開発練習をしています。 エラーが出てしまい解決方法を数日間検索しているのですが、 見当たらず、わからないので、質問させていただきます。 バージョンは Eclipse SDK Version: 4.2.2 Build id: M20130204-1200 を使用しています。 エラーは m_Number[0] = BitmapFactory.decodeResource(r, R.drawable.num1); m_Number[1] = BitmapFactory.decodeResource(r, R.drawable.num2); m_Number[2] = BitmapFactory.decodeResource(r, R.drawable.num3); m_Number[3] = BitmapFactory.decodeResource(r, R.drawable.num4); ・・・・・ の位置で、 メソッド decodeResource(Resources, Object) は型 String で未定義です。 と表示されます。 ソースは以下のように作っています。 package com.example.puzzle15; import android.os.Bundle; import android.app.Activity; import android.view.Menu; //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. //getMenuInflater().inflate(R.menu.main, menu); //return true; //} //} //class : PuzzleView //Abstract : パズルを表示する public class PuzzleView extends SurfaceView implements SurfaceHolder.Callback{ private static final String BitmapFactory = null; private Bitmap m_Number[] = new Bitmap[15]; private SurfaceHolder m_holder; private final int m_PosX[] = { 0, 80, 160, 240 }; private final int m_PosY[] = { 0, 80, 160, 240 }; private final int m_IdxX[] = {0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3}; private final int m_IdxY[] = {0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3}; // コンストラクタ // サーフェースホルダーとイメージの準備 public PuzzleView(Context context) { super(); Resources r = getResources(); // 画像リソースの取得 m_Number[0] = BitmapFactory.decodeResource(r, R.drawable.num1); m_Number[1] = BitmapFactory.decodeResource(r, R.drawable.num2); m_Number[2] = BitmapFactory.decodeResource(r, R.drawable.num3); m_Number[3] = BitmapFactory.decodeResource(r, R.drawable.num4); m_Number[4] = BitmapFactory.decodeResource(r, R.drawable.num5); m_Number[5] = BitmapFactory.decodeResource(r, R.drawable.num6); m_Number[6] = BitmapFactory.decodeResource(r, R.drawable.num7); m_Number[7] = BitmapFactory.decodeResource(r, R.drawable.num8); m_Number[8] = BitmapFactory.decodeResource(r, R.drawable.num9); m_Number[9] = BitmapFactory.decodeResource(r, R.drawable.num10); m_Number[10] = BitmapFactory.decodeResource(r, R.drawable.num11); m_Number[11] = BitmapFactory.decodeResource(r, R.drawable.num12); m_Number[12] = BitmapFactory.decodeResource(r, R.drawable.num13); m_Number[13] = BitmapFactory.decodeResource(r, R.drawable.num14); m_Number[14] = BitmapFactory.decodeResource(r, R.drawable.num15); // サーフェースホルダーの生成 m_holder = getHolder(); m_holder.addCallback(this);// サーフェース生成時と変更時、終了時に呼び出してもらう } private SurfaceHolder getHolder() { // TODO Auto-generated method stub return null; } private Resources getResources() { // TODO Auto-generated method stub return null; } //SurfaceCreated //サーフェース生成時処理 public void surfaceCreated(SurfaceHolder holder){ } //SurfaceChanged //サーフェース変更時処理 public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { int m_XOrg; int m_YOrg; boolean m_bLand; if( height > width ){ m_XOrg = (width - 320) / 2; m_YOrg = 32; m_bLand = false; } else{ m_XOrg = 32; m_YOrg = (height - 320 ) / 2; m_bLand = true; } m_holder = holder; Thread m_Thread = new Thread((Runnable) this); m_Thread.start(); updateView(); Canvas canvas = holder.lockCanvas(); canvas.drawColor(Color.BLACK); for( int i = 0 ; i < 15 ; i++ ){ canvas.drawBitmap(m_Number[i], m_PosX[m_IdxX[i]], m_PosY[m_IdxY[i]], null); } holder.unlockCanvasAndPost(canvas); } private void updateView() { // TODO Auto-generated method stub } // SurfaceDestroyed // サーフェース終了時処理 public void surfaceDestroyed(SurfaceHolder holder){ } } よろしくお願いします。
↧