2011-02-06 9 views
1

私は現在アンドロイドアプリを開発中です。私は、Webビューアクティビティを呼び出すアクティビティを持っています。ユーザーが戻るボタンを1回押すと、Webビューの履歴に移動します。ユーザーが戻るボタンを2回タップすると、Webビューアクティビティが終了します。アンドロイドの物理的なボタンをダブルタップ

にはどうすればいいだけの戻るボタンで最後のタップを追跡するためのバックボタン

答えて

0

このケースでは、あなたが望むのは、戻るボタンの長い押しです。 (ユーザーがその機能をオンにしている場合、これは6.2+シアン色のROMと競合している可能性があるとは思うが)...戻るボタンのダブルタップは、モバイルデバイス上で少し邪魔になるかもしれない。

ボタンをオーバーライドする典型的な方法に従って、私はあなたがもっともっと助けが必要な場合、どのようにするかを知っていると仮定しています。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; 
     } 
    } 
} 
関連する問題