2012-02-29 11 views
0

私はキャンバスにいくつかのものを描き、それぞれを舐める必要があります。私はonDrawメソッドアンドロイドキャンバスクリック失敗T_T

@Override 
public void onDraw(Canvas canvas) {  
     Paint paint = new Paint(); 
     Bitmap wrench = BitmapFactory.decodeResource(getResources(), R.drawable.wrench); 
     canvas.drawColor(Color .BLACK); 
     for(int i = 0; i < 4; i++) { 
      for(int j = 0; j < 4; j++) { 
       canvas.drawBitmap(wrench, canvas.getWidth()/2 - wrench.getWidth()*2 + i*wrench.getWidth(), 0 + j*wrench.getHeight(), null); 
      } 
     } 

} 

と内部クラスのスレッドを持っている。このクラスではクラスに

public class PlayGameView extends SurfaceView implements SurfaceHolder.Callback 

を作りました。 ので、xmlファイルに私はこの

<com.cerbertek.PlayGameView 
    android:id="@+id/play_field_surface_view" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 

とアクティビティクラスに

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.play_game); 

    playField = (PlayGameView) findViewById(R.id.play_field_surface_view); 
    playField.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
       Toast.makeText(PlayGameActivity.this, "ОХУЕТЬ", 2000);   
     } 
    }); 
} 

をclicklistenerを追加するために抱き合わせのように、このビューを追加しましたが、何も起こりません。トーストなし。私がgetWidthメソッドを呼び出したとき、それは私にゼロを示しました!しかし、私は画像を参照してください)

どのように私の問題を解決することができますか?

答えて

0

あなたはshowにそれを忘れてしまった:

Toast.makeText(PlayGameActivity.this, "ОХУЕТЬ", 2000).show(); 
+0

OOは畜生、あなたは正しいです!ありがとう)) – user1128677