java(android studio)

gblwokeq  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(189)

我正在使用androidstudio(java)编写一个android应用程序,该程序使用arduino通过蓝牙控制led(目前)。
目标:我希望按钮(btn5)在执行代码时第一次单击后被锁定/禁用,然后在执行后再次自动解锁/启用。即使多次单击按钮,btn5也只能在单击时处理其代码一次。
问题:led闪烁5次,一次点击,但如果点击多次,它闪烁10,15。。。次。我试着实现其他类似线程上的建议,但这并不能实现我的目标。它只会在我重新加载应用程序时再次启用按钮。
我得到的最接近的是禁用btn5,一旦它被点击,它将保持禁用状态,直到按下btn4,如下所示:

btn4.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick (View v) {
            btn5.setEnabled(true);
            sendSignal("0");
        }
    });

    btn5.setOnClickListener(new View.OnClickListener() {
        int i= 0;
        int p= 5;

        @Override
        public void onClick (View v) {

            while (i!=p)
            {
                sendSignal("1");
                btn5.setEnabled(false);
                i=i+1;
                try {
                    Thread.sleep(500);
                } catch (InterruptedException ie) {
                    Thread.currentThread().interrupt();
                }

                sendSignal("0");
                try {
                    Thread.sleep(500);
                } catch (InterruptedException ie) {
                    Thread.currentThread().interrupt();
                }

            }
                sendSignal("0");
                i=0;

        }

    });

请,任何帮助将不胜感激,因为我是新的java和应用程序建设。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题