2012-02-29 2 views
0

Мне нужно нарисовать материал на холсте, а затем лизать на каждом. Я сделал классошибка щелчка андроида холст 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"/> 

и связывание добавить clicklistener в деятельности класса

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

, но ничего не происходит. нет тостов. когда я назвал метод getWidth, он показал мне ZERO! Но я вижу изображение)

как я могу решить свою проблему?

ответ

0

Вы забыли show его:

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

оо подери, ты прав! благодаря)) – user1128677

Смежные вопросы