2014-01-09 22 views
0

我正在創建一個Android連接4遊戲,我處於嘗試根據用戶選擇的圓圈放置計數器的階段,但現在代碼不工作,計數器基本不動無論在哪裏我點擊使用onTouchEvent更改字段後未調用onDraw()

// onDraw() defined above 
@Override 
public boolean onTouchEvent(MotionEvent event) { 
    rows = (int)event.getX(); 
    cols = (int)event.getY(); 
    switch (event.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
     case MotionEvent.ACTION_MOVE: 
     case MotionEvent.ACTION_UP: 
    } 
    return false; 
} 

回答

0

你改變你的rows/cols字段值後,調用invalidate()。這將要求Android在未來的某個時間調用您的onDraw()方法。

您的代碼應該是這樣的:

@Override 
public boolean onTouchEvent(MotionEvent event) { 

    switch (event.getAction()) { 
     case MotionEvent.ACTION_DOWN: // Fall through 
     case MotionEvent.ACTION_MOVE: // Fall through 
     case MotionEvent.ACTION_UP: // Fall through 
      rows = (int)event.getX(); 
      cols = (int)event.getY(); 
      invalidate(); 
      return true; 
    } 
    return false; 
} 
相關問題