android - 按住按钮时如何获得按钮按下时间

标签 android button time

我有一个按钮,我按下它并继续按住它,如果按住时间超过一定的时间间隔它会触发某种 Intent ,我该怎么做。 谢谢

最佳答案

试试这个

您可以使用 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;

            default:
                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

    }
};

希望它能有所帮助...:)

关于android - 按住按钮时如何获得按钮按下时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22606977/

相关文章:

MySQL从一张表中查询 - 选择同一字段两次

android - 从 react-native 项目中导出 APK

android - Firebase 函数在 10 秒后在客户端超时

java - 如何通过给定的 ID 调用 View

php - 在php中设置时间为00 :00:00

node.js - 需要客户端时间来镜像服务器端时间

android - 当你停止滚动 listview/recyclerview 时如何隐藏或显示部分隐藏的工具栏/操作栏

java - Retrofit2 - 无法使用 PartMap 上传文件

java - 计算一个 JButton 被按下了多少次?

python - tkinter 中的命令和绑定(bind)有什么区别?