2014-05-20 2 views
0

onKey 또는 onClick을 onKey로 onKeyDown 메소드를 구현하는 방법. 현재의 방법은 하드웨어 키위한 것입니다하지만 난 그래서 내가 그렇게 할 수있는 방법을 onTouch로 변경하려면 ..onTouch 또는 onClick으로 onKeyDown 메서드를 구현하는 방법은 무엇입니까?

@Override 
public boolean onKeyDown(int keyCode, KeyEvent evt) { 
    boolean moved = false; 
    switch(keyCode) { 
     case KeyEvent.KEYCODE_DPAD_UP: 
      moved = maze.move(Maze.UP); 
      break; 
     case KeyEvent.KEYCODE_DPAD_DOWN: 
      moved = maze.move(Maze.DOWN); 
      break; 
     case KeyEvent.KEYCODE_DPAD_RIGHT: 
      moved = maze.move(Maze.RIGHT); 
      break; 
     case KeyEvent.KEYCODE_DPAD_LEFT: 
      moved = maze.move(Maze.LEFT); 
      break; 
     default: 
      return super.onKeyDown(keyCode,evt); 
    } 
     } 

답변

0

당신은 버튼과 같은 뷰에 대한 OnTouchListener의 onTouch 방법을 구현할 수 있습니다 ..

mButton.setOnTouchListener(new OnTouchListener() { 

     public boolean onTouch(View v, MotionEvent event) { 

       switch (event.getAction()) { 

       case MotionEvent.ACTION_DOWN: break; 

       case MotionEvent.ACTION_UP: break; 

       } 

       return true; 
     } 
    }); 
+0

하지만이 오른쪽 및 왼쪽에 대한 MotionEvent가 없습니다 ... 지금 내가하는 일 – BitLord

+0

오른쪽에서 왼쪽으로 무엇을 의미합니까 ?? –

+0

내 현재의 방법에는 오른쪽 및 왼쪽 하드웨어 키에 대한 작업이 있습니다. 따라서 이러한 작업이 개체 이동을 오른쪽 또는 왼쪽으로 누른 상태에서 수행되지만 다른 한편으로는 onTouch에는이 두 방향에 대한 ActionEvent가 없습니다 ... – BitLord

관련 문제