2012-02-29 58 views
0

我需要在画布上画一些东西,然后舔上每个。我做了一个类android画布点击失败T_T

public class PlayGameView extends SurfaceView implements SurfaceHolder.Callback 

在这个类我的onDraw方法

@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); 
      } 
     } 

} 

和内Thread类。 所以,在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方法时,它向我展示了ZERO!但我看到图像)

我该如何解决我的问题?

回答

0

你忘了show它:

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

OO该死的,你是对的!谢谢)) – user1128677 2012-02-29 16:31:20