android - 计算按下按钮的数量

标签 android events button onclick keyevent

实际上,这个问题延伸 this one.

我想计算我从耳机按下的按钮的数量。

if(action == KeyEvent.ACTION_DOWN) 
    {
        Toast.makeText(context, "Pressed 1 time", Toast.LENGTH_SHORT).show();
    }
    if(action == KeyEvent.ACTION_MULTIPLE)
    {
        k = event.getRepeatCount();
        if(k == 2)
            Toast.makeText(context, "Pressed 2 times", Toast.LENGTH_SHORT).show();
        if(k == 3)
            Toast.makeText(context, "Pressed 3 times", Toast.LENGTH_SHORT).show();
        if(k>=4)
        {
            String a = Integer.toString(k);
            Toast.makeText(context, "Pressed " + a + " times.", Toast.LENGTH_SHORT).show();
        }
    }

但是当我按下按钮时,我得到 Toast“按了 1 次”。我总是明白,系统永远不会进入其他 if

我该如何解决这个问题?

谢谢

添加 还是解决不了这个问题这就是我所做的:

 if(action == KeyEvent.ACTION_DOWN) 
    {
        k++;
        try 
        {
            wait(1000);
        } catch (InterruptedException e) 
        {
            e.printStackTrace();
        }
    }
        if(k == 1)
            Toast.makeText(context, "Pressed 1 time", Toast.LENGTH_SHORT).show();
        if(k == 2)
            Toast.makeText(context, "Pressed 2 times", Toast.LENGTH_SHORT).show();
        if(k == 3)
            Toast.makeText(context, "Pressed 3 times", Toast.LENGTH_SHORT).show();
        if(k>=4)
        {
            String a = Integer.toString(k);
            Toast.makeText(context, "Pressed " + a + " times.", Toast.LENGTH_SHORT).show();
        }
        k = 0;
    abortBroadcast();

最佳答案

“连续发生多个重复按键事件”是ACTION_MULTIPLE的定义,您只按了一个按钮。

if(action == KeyEvent.ACTION_DOWN) 
{
    k++;
    Toast.makeText(context,  "Pressed " + Integer.toString(k) + " time(s).", Toast.LENGTH_SHORT).show();
}

编辑:

哦,我看到您想双击下一首轨道或三次单击返回。我建议实现一个线程。在 KeyEvent.ACTION_DOWN 中计算按键次数。在您的线程中,假设调用 wait(500) 并检查您的按钮被按下的次数并采取相应措施,并将计数器设置回 0。

关于android - 计算按下按钮的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10933672/

相关文章:

forms - 当表单在屏幕上可见时触发的事件

android - 关闭 OnClickListener 然后再打开

swift - 从 Swift 应用程序打开日历

java - 在android中捕获图像时出现管道错误

java - 循环遍历嵌套的 Retrofit JSON 结果

android - 保护应用程序中的对称 key

events - 防止jquery移动面板打开?

javascript - 移动 Safari 上的可保持 html 按钮

java - 开关机一次后按钮停止工作

java - 所有 Activity 的 BaseActivity,可能吗?