Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android处理多个按钮点击_Android - Fatal编程技术网

Android处理多个按钮点击

Android处理多个按钮点击,android,Android,所以我有一个按钮,可以启动与服务器的通信。但是,当我尝试从on click中禁用按钮(以停止多次单击)时,直到on click结束才会发生。这是一个问题,因为服务器通信意味着该方法需要一段时间才能执行。我看到了前面的一个问题,它是通过使用标志来停止多次单击来回答的(据说按钮不能立即停用是一个已知的错误)。现在是否有其他更优雅的解决方案来解决这个问题,或者标志仍然是唯一的方法?在按钮的onClick() 你可以 button.setEnabled(false); 在按钮的onClick() 你可

所以我有一个按钮,可以启动与服务器的通信。但是,当我尝试从on click中禁用按钮(以停止多次单击)时,直到on click结束才会发生。这是一个问题,因为服务器通信意味着该方法需要一段时间才能执行。我看到了前面的一个问题,它是通过使用标志来停止多次单击来回答的(据说按钮不能立即停用是一个已知的错误)。现在是否有其他更优雅的解决方案来解决这个问题,或者标志仍然是唯一的方法?

在按钮的
onClick()

你可以

button.setEnabled(false);
在按钮的
onClick()

你可以

button.setEnabled(false);

我遇到这个问题时所做的是使用布尔标志,下面是使用标志的示例代码:

boolean isClicked = false;
Button btn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       if (!isClicked) {
           isClicked = true;
           // CONNECT TO SERVER
           isClicked = false;
    }
}

我遇到这个问题时所做的是使用布尔标志,下面是使用标志的示例代码:

boolean isClicked = false;
Button btn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       if (!isClicked) {
           isClicked = true;
           // CONNECT TO SERVER
           isClicked = false;
    }
}

你可以隐藏按钮

button.setVisibility(View.INVISIBLE);
或者禁用按钮

button.setEnabled(false);

或者使用布尔值保留标志,您可以隐藏按钮

button.setVisibility(View.INVISIBLE);
或者禁用按钮

button.setEnabled(false);
或者使用布尔值保留一个标志