多按钮点击事件

贝卡KK

我有两个按钮,每个按钮都有每个功能,但我还想在用户同时单击这些按钮时添加另一个功能。这是我的代码:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private Button button1, button2;
private TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button1 = findViewById(R.id.button1);
    button2 = findViewById(R.id.button2);
    textView = findViewById(R.id.textView);
    button1.setOnClickListener(this);
    button2.setOnClickListener(this);
}
private long mLastClickTime = 0;

@Override
public void onClick(View v) {
    if (System.currentTimeMillis() - mLastClickTime < 1000) {
        textView.setText("Double Action");
        SPLogger.logMassage("Same", (System.currentTimeMillis() - mLastClickTime) + "");
        return;
    }
    mLastClickTime = System.currentTimeMillis();
    SPLogger.logMassage("notSame", System.currentTimeMillis() + "");

    if (v.getId() == R.id.button1) {
        textView.setText("Only First Action");
    } else if (v.getId() == R.id.button2) {
        textView.setText("Only Second Action");

    }
}
}

这段代码几乎可以工作,但我有一个小问题。例如,当我快速单击第一个按钮时,它就像同时进行的操作一样。谁能告诉我我的代码有什么问题?还有在Android中检查同时点击的最佳方法是什么?谢谢

寇佩托

您必须检查第二次点击是否来自第一次点击之外的其他按钮,因此您必须将最后一次点击的按钮保存在一个变量中。例子

private long mLastClickTime = 0;
private int mLastClickedID = -1;

@Override
public void onClick(View v) {
    if (System.currentTimeMillis() - mLastClickTime < 1000 && mLastClickedID !=v.getId()) {
        textView.setText("Double Action");
        SPLogger.logMassage("Same", (System.currentTimeMillis() - mLastClickTime) + "");
        return;
    }
    mLastClickTime = System.currentTimeMillis();
    mLastClickedID = v.getId()
    SPLogger.logMassage("notSame", System.currentTimeMillis() + "");

    if (v.getId() == R.id.button1) {
        textView.setText("Only First Action");
    } else if (v.getId() == R.id.button2) {
        textView.setText("Only Second Action");

    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

事件在点击按钮之前运行

来自分类Dev

禁用按钮仍会监听点击事件

来自分类Dev

动态按钮未调用点击事件

来自分类Dev

动态创建的按钮上的点击事件

来自分类Dev

更改点击事件的按钮背景颜色?

来自分类Dev

如何使用点击事件禁用Dojo按钮

来自分类Dev

表示按钮被点击事件的最佳方法是哪种?

来自分类Dev

捕获Google+按钮点击事件

来自分类Dev

更改点击事件的按钮背景颜色?

来自分类Dev

无法找到按钮点击事件的连线方式

来自分类Dev

如何获得模型表单按钮的点击事件?

来自分类Dev

如何使用jQuery触发按钮点击事件

来自分类Dev

将功能的点击事件设置为按钮

来自分类Dev

获取没有画布的按钮点击事件

来自分类Dev

无法点击删除按钮,多视图

来自分类Dev

点击事件触发另一个按钮事件

来自分类Dev

Kendo按钮(k按钮)未在点击事件Jquery上触发

来自分类Dev

多个按钮,一个事件改变点击的按钮颜色

来自分类Dev

点击事件点击事件

来自分类Dev

更改点击事件,通知栏上的按钮背景

来自分类Dev

按钮点击能否在iframe中引起事件?

来自分类Dev

按下按钮时触发点击事件

来自分类Dev

Android按钮不会在每次点击时触发事件

来自分类Dev

如何使浮动动作按钮消耗点击事件?

来自分类Dev

无法访问JavaScript中按钮的点击事件

来自分类Dev

注销链接按钮未触发点击事件

来自分类Dev

在函数中创建的React HTML按钮未注册点击事件

来自分类Dev

无法将样式应用于按钮的点击事件

来自分类Dev

如何响应自定义视图中按钮的点击事件?