2011-02-06 6 views
1

현재 Android 앱을 개발 중입니다. 웹보기 활동을 호출하는 활동이 있습니다. 사용자가 뒤로 단추를 한 번 누르면 웹보기의 기록으로 이동하고, 사용자가 뒤로 단추를 두 번 누르면 웹보기 활동이 끝나기를 원합니다.android의 두 번 탭 실제 버튼

어떻게 그냥 뒤로 버튼의 마지막 탭의 추적 뒤로 버튼

답변

0

이 경우에는 원하는 것은 뒤로 버튼을 길게 누르는 것입니다. (사용자가 해당 기능을 켜는 경우 6.2 + 시안 색 롬과 충돌이있을 수 있다고 생각하기는하지만). 뒤로 버튼을 두 번 두드리면 모바일 장치에서 약간의 장애가 발생할 수 있습니다.

버튼을 덮어 쓰는 일반적인 방법에 따라, 어떻게하면 더 도움이 필요하다고 생각하는지 알고 있다고 가정합니다. onLongPress (...) 메소드가 있어야 오버 라이딩 할 수 있습니다. 그것을 원한다.

2

의 더블 탭에 대한 검사에 대해 갈 수 있습니다. 현재 탭이 마지막 탭 이후 특정 시간 제한 (1 초)에 있으면 두 번 누릅니다. 그렇지 않으면 정상적인 탭입니다.

1

처리기가 필요하다고 생각합니다.

private int mCount; 

private void handleBackKeyDown() { 
    if (mCount > 0) { 
     mCount = 0; 
     mMyHandler.removeMessages(MyHandler.MSG_GO_TO_HISTORY); 
     finish(); // close this activity 
    } else { 
     mCount++; 

     Message msg_reset = Message.obtain(); 
     msg_reset.what = MyHandler.MSG_GO_TO_HISTORY; 
     mMyHandler.sendMessageDelayed(msg_reset, TIME_TO_START_OVER_AGAIN); 
    } 
} 

private class MyHandler extends Handler { 
    public static final int MSG_GO_TO_HISTORY = 0; 
    @Override 
    public void handleMessage(Message msg) { 
     switch (msg.what) { 
     case MSG_GO_TO_HISTORY: 
      // go to the history of the webview 
      mCount = 0; 
      break; 
     default: 
      break; 
     } 
    } 
} 
관련 문제