5

我正在制作一个应用程序,它有一个按钮来执行一个动作,但是我想在用户长按按钮时执行这个动作。因为谷歌提供了长按持续时间 appx .5 秒,但我想自定义这个持续时间。请帮忙...

4

1 回答 1

7

你可以尝试Touch Listener这样做。

尝试:

Handler handler = new Handler();
    b.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View arg0, MotionEvent arg1) {
            switch (arg1.getAction()) {
            case MotionEvent.ACTION_DOWN:
                handler.postDelayed(run, 5000/* OR the amount of time you want */);
                break;

            case MotionEvent.ACTION_CANCEL:
                handler.removeCallbacks(run);
                break;

            case MotionEvent.ACTION_UP:
                handler.removeCallbacks(run);
                break;

            }
            return true;
        }
    });

您要长按b的位置在哪里。view

Runnable run如下_

Runnable run = new Runnable() {

    @Override
    public void run() {
        // Your code to run on long click

    }
};

希望能帮助到你... :)

于 2013-05-06T07:13:48.743 回答