当前位置: 首页 > 知识库问答 >
问题:

检查android studio/java是否发布了多个按钮

蒋畅
2023-03-14

我希望我的程序只在所有按钮都被释放时发送0。现在,当我释放按钮时,代码会发送0,但如果我按住按钮并释放其中一个按钮,它会发送0,但我不希望它这样做,我只希望当所有按钮都被释放时。谢谢

@Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        switch (view.getId()){
            case R.id.commend1B:
                if (motionEvent.getAction() == ACTION_DOWN) {
                    commend1BHold = true;
                    Log.i("sending", "sending 1");
                    bluetooth.write("1#");
                } else if (motionEvent.getAction() == ACTION_UP){
                    Log.i("sending", "sending 0");
                    bluetooth.write("0#");
                }
                break;
            case R.id.commend2B:
                if (motionEvent.getAction() == ACTION_DOWN) {
                    Log.i("sending", "sending 2");
                    bluetooth.write("2#");

                } else if (motionEvent.getAction() == ACTION_UP){
                    Log.i("sending", "sending 0");
                    bluetooth.write("0#");
                }
                break;
            case R.id.commend3B:
                if (motionEvent.getAction() == ACTION_DOWN) {
                    Log.i("sending", "sending 3");
                    bluetooth.write("3#");
                } else if (motionEvent.getAction() == ACTION_UP){
                    Log.i("sending", "sending 0");
                    bluetooth.write("0#");
                }
                break;
            case R.id.commend4B:
                if (motionEvent.getAction() == ACTION_DOWN) {
                    Log.i("sending", "sending 4");
                    bluetooth.write("4#");
                } else if (motionEvent.getAction() == ACTION_UP){
                    Log.i("sending", "sending 0");
                    bluetooth.write("0#");
                }
                break;


            default:
                throw new IllegalStateException("Unexpected value: " + view.getId());
        }

        return false;
    }

共有1个答案

杭胜
2023-03-14

每次释放一个按钮(任何按钮)时,调用一个方法来检查是否释放了所有按钮。如果是,发送0

还有一种可能性是计算按下的按钮:每次按下按钮时,您都会增加计数器,反之亦然。如果计数器为零,则发送0

 类似资料:
  • 我有一个Java函数,我想在其中测试控制键是否被按住。我该怎么做? 编辑:我正在使用摆动作为gui。

  • 问题内容: 在Java中,我有一个程序需要连续检查用户是否按下了键。所以在伪代码中,像 提前致谢! 问题答案: 在Java中,你不检查是否有键被按下,而不是你听到秒。实现目标的正确方法是注册一个,并实现它以维持所需密钥的状态: 然后,您可以随时使用: 当然,您可以使用相同的方法来实现键映射及其包裹在状态中的状态。

  • 问题内容: 我是Java的初学者,一直在研究如何检测用户是否按下了某个键(例如箭头键)。显然,有很多方法可以做到这一点,我发现此方法应该对我有用: 问题是我不知道什么是KeyEvent。 当我调用该方法并给我举个例子时,谁能告诉我在括号中加什么? PS:不要把我发送到其他站点,我可能已经看过了,他们只是让我更加困惑… 问题答案: public class KeyEvent extends Inpu

  • 问题内容: 如何检查布尔值是否为null?因此,如果我知道“ hideInNav”为空。如何阻止它进一步执行?像下面这样的东西似乎不起作用,但是为什么呢? 问题答案: 只能是或因为它是原始数据类型(+ 变量的默认值为)。如果要使用值,则可以改用类。布尔是一种引用类型,这就是您可以分配给布尔“变量”的原因。例:

  • 我知道并使用了很多绑定的语法,但是我怎么能直接检查事件对象并提取被按下的字母,例如'c'和修饰词,例如'Control'和'Alt'? 我试过这个 偷到Python和Tkinter编程,但它没有显示我正在按的最终修饰符

  • 问题内容: 因此,我听说如果将2个字符串与==进行比较,则只有它们都引用相同的对象/实例时,我才会返回true。那是琴弦。布尔呢? 问题答案: ==是否检查布尔值是否完全相等?-Java 这取决于您是在谈论s(对象包装,请注意大写)还是s(原始,请注意小写)。如果您在谈论s(对象包装器),就像处理所有对象一样,请检查 身份 ,而不是对 等 。如果您在谈论s(基元),它将检查是否相等。 所以: 但