有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在安卓中为一个按钮onclick实现两个功能

您好,我在安卓系统中使用蓝牙,我只需点击一个按钮,即可执行2项活动。第一次单击时,它应执行回风,第二次单击时,它应执行设定点读数。但在我的代码中,只有一个活动运行,并且在第二次单击时不会转到第二个活动。在我的代码中,只有一个处理程序来执行这两个活动。我应该有两个处理程序来执行这两个活动吗

这是我的密码: 此预成型首先单击:

private void returnair() { 
     //return air
     Log.d(TAG, "returnair()");
     setContentView(R.layout.dummy);
     load = (Button) findViewById(R.id.button1);
     load.setOnClickListener(new OnClickListener() {
         @Override
         public void onClick(View v) {
             String text = "16 16 36 01 10 00 00 00 00 00 00 00 00 00 00 00 00 88 47 ";
             sendMessage(text);
         }
     });
     mChatService = new blootoothchatservice(this, mHandler);
     mOutStringBuffer = new StringBuffer("");
}

这将执行第二次单击:

private void setpoint() {
        //reading setpoint
        Log.d(TAG, "setpoint()");
        setContentView(R.layout.dummy); 
        load = (Button) findViewById(R.id.button1);
        load.setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View v) {
                 String resp = "16 16 36 07 02 00 00 00 00 00 00 00 00 00 00 00 00 B7 93 ";
                 sendsetresponses(resp);
             }
        });
        mChatService = new blootoothchatservice(this, mHandler);
        mOutStringBuffer = new StringBuffer("");
}

共 (1) 个答案

  1. # 1 楼答案

    应用程序如何知道按钮是单击了一次还是两次?您需要存储第一个函数是否已运行,以及是否已运行第二个函数。此逻辑可以添加到一次单击事件中,如下面的伪代码所示

    global int click = 0;
    
    onClick() {
        if (click == 0) {
            click = 1;
            returnair();
        }
        else
            setpoint();
    }