我現在面臨的問題是,android模擬器似乎排隊點擊我在下面的按鈕。如果我按照常規速度點擊,那麼這是沒有問題的。但每當我這麼說,垃圾郵件點擊按鈕,它似乎收到所有的點擊,並做了這麼多的操作。Android模擬器隊列點擊?
例如: 數組長度爲5,如果我站在索引5上並快速點擊4次按鈕,我最終在索引1處結束,但如果我站在索引2處並且垃圾點擊三次,它拋出 java.lang.ArrayIndexOutOfBoundsException
代碼如下:
ButtonGoBack.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// here i set it disabled to prevent mass clicks/taps/touches.
ButtonGoBack.setEnabled(false);
enumCounter--;
temporaryValue = values[enumCounter];
doSomething(temporaryValue);
// hides button
if(enumCounter== 0)
{
ButtonGoBack.setVisibility(4);
}
}
});
100〜左右代碼行之後。
ButtonGoBack.setEnabled(true);
似乎沒有辦法。
任何建議如何以不同的方式做到這一點?
如果我理解正確,你希望你的按鈕只有在上一次點擊操作完成時才點擊,並且之前發生的所有點擊都需要忽略? – youri
@youri完全一樣! – doge
請使用setVisibility(View.INVISIBLE)而不是setVisibility(4)。總是使用定義的,人類可讀的常量,它會大量增加代碼可讀性,並且是一種很好的編碼風格。我只需要檢查文檔中的4。可能能夠回答的人可能不會這樣做。 – 2011-08-08 08:36:49