1

当用户将手指放在视图上超过 1 秒时,我想执行一个操作。

使用,OnTouch我可以访问ACTION_UP和。ACTION_DOWNACTION_MOVE

问题是,如果用户将手指放在屏幕上并且不移动手指,ACTION_MOVE则不会触发,因此我无法执行我的操作。

我确切地说我想在 1 秒后执行我的操作,但同时用户的手指仍然在屏幕上。

事实上,我需要感觉到用户的手指在屏幕上,即使他没有移动它。

谢谢你的帮助。

4

2 回答 2

2

您可以使用 TimerTask 类并安排将在特定时间后运行的任务。

这是一个例子。

如果用户在 1000 毫秒之前抬起手指,那么只需取消在 ACTION_UP 事件上安排的任务。

于 2012-06-03T18:55:52.817 回答
1

或者您可以使用 longclickListener :)

View myView = findViewById(R.id.myView);
wv.setOnLongClickListener(new OnLongClickListener() {

    public boolean onLongClick(View v) {
        //DO SOMETHING HERE
        return true;
    }
});
于 2012-06-03T19:24:18.987 回答