このコードを使用してImageViewでのマルチクリックを防止しようとしましたが、役に立ちません。
Boolean isClicked = false;
@Override
public void onClick(View v)
{
if (v == imgClick && !isClicked)
{
//lock the image
isClicked = true;
Log.d(TAG, "button click");
try
{
//I try to do some thing and then release the image view
Thread.sleep(2000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
isClicked = false;
}
}
ログキャットでは、ImageViewをできるだけ速く5回クリックすると、5行の「ボタンクリック」が表示されます。log catが最初の行を印刷し、しばらく(2秒)待ってから次の行を印刷するのを見ることができます。
ImageViewをクリックすると、発生したイベントが順番にキューに移動すると思いますね。では、どうすればそれを止めることができますか?isClicked変数の代わりにsetEnable()またはsetClickable()
も使用しようとしましたが、機能しません。