2016-04-03 32 views
0

Tuvalde animasyonlu bir sınıfım var. Dokunma işlemine ihtiyacım var, ama OnTouchListener çalışmıyor. Ana etkinliğe bir dinleyici koymaya çalıştım ama yine de işe yaramadı.Android: Nasıl OnTouchListener Canvas eklemek için?

public class Animation extends View implements View.OnTouchListener{ 

    private Paint paint; 
    private Snake snake; 

    public Animation(Context context) { 
     super(context); 
     snake = new Snake(10, 10, 1, 0, 1, 50); 
     paint = new Paint(); 
     paint.setColor(Color.BLACK); 
    } 

    public void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 
     snake.move(canvas); 
     invalidate(); 
    } 

    public boolean onTouch(View v, MotionEvent event) { 
     System.out.println("asfaf"); 
     float x = event.getX(); 
     float y = event.getY(); 

     switch (event.getAction()) { 
      case MotionEvent.ACTION_DOWN: 
       System.out.println(x + ' ' + y); 
       break; 
      case MotionEvent.ACTION_MOVE: 
       System.out.println(x + ' ' + y); 
       break; 
      case MotionEvent.ACTION_UP: 
      case MotionEvent.ACTION_CANCEL: 
       System.out.println(x + ' ' + y); 
       break; 
     } 
     return true; 
    } 

} 

cevap

2

onTouchEvent() ile onTouch() yöntemini değiştirin.

ve kaldırmak implements View.OnTouchListener.

+0

Teşekkür ederim, işe yarıyor! –

1

Sınıfınızdan implements View.OnTouchListener çıkarın ve onTouchEvent() yönteminize bir @Override ekleyin.

+0

Teşekkür ederim, işe yarıyor! –