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