在Android中实现双击按钮

Anj*_*nju 15 user-interface android double-click

如何在Android中实现双击按钮?我应该使用OnDoubleTapListener吗?

Par*_*han 30

int i = 0;
btn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        i++;
        Handler handler = new Handler();
        Runnable r = new Runnable() {

            @Override
            public void run() {
                i = 0;
            }
        };

        if (i == 1) {
            //Single click
            handler.postDelayed(r, 250);
        } else if (i == 2) {
            //Double click
            i = 0;
            ShowDailog();
        }


    }
});
Run Code Online (Sandbox Code Playgroud)

  • 此代码也为Double Click执行单击事件. (3认同)
  • 这没有考虑任何[时间限制](http://stackoverflow.com/a/15353499/636571). (2认同)

小智 5

private long lastTouchTime = 0;
private long currentTouchTime = 0;
Run Code Online (Sandbox Code Playgroud)

..

         @Override
                public void onClick(View view) {

                    lastTouchTime = currentTouchTime;
                    currentTouchTime = System.currentTimeMillis();

                    if (currentTouchTime - lastTouchTime < 250) {
                        Log.d("Duble","Click");
                        lastTouchTime = 0;
                        currentTouchTime = 0;
                    }

                }
Run Code Online (Sandbox Code Playgroud)


Anj*_*nju 3

这是一个执行双击的好网站...我使用了它并工作了。

http://mobile.tutsplus.com/tutorials/android/android-gesture/