0

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

4

3 回答 3

3

在按钮的onClick()

你可以,

button.setEnabled(false);
于 2012-08-01T07:08:58.907 回答
2

当我遇到这个问题时,我做了一个布尔标志,这是一个使用标志的示例代码:

boolean isClicked = false;
Button btn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       if (!isClicked) {
           isClicked = true;
           // CONNECT TO SERVER
           isClicked = false;
    }
}
于 2012-08-01T07:15:41.593 回答
0

你可以隐藏按钮,

button.setVisibility(View.INVISIBLE);

或禁用按钮

button.setEnabled(false);

或使用布尔值保留标志

于 2012-08-01T07:17:47.753 回答