ボタンを押すと、アプリケーションはサーバーにデータを送信しようとします。接続がアクティブな場合、データはすぐに送信されますが、リンクがダウンしている場合、システムは x 秒間送信を試みます。実際、その期間中、インターフェイスは (意図的に) ブロックされます (現在の操作を強調するためにボタンが点灯します)。問題は、ユーザーが他のボタンを押し始めると、イベントが聞こえ、接続がアクティブになると、それらのイベントに関連するすべての操作が実行されることです。
どうすれば防ぐことができますか?
それを防ぐ方法 他のボタンに関連する各イベントが処理されるのを防ぐ方法は? どんな提案でも大歓迎です。
編集 ボタンが押されたときにフラグをチェックしようとしましたが、残念ながらフラグが再設定されると、すべてのイベントがキャッチされて実行されます。
public void onClick(View v) {
switch(v.getId())
{
case R.id.button1: //when sendData() is trying to send the message, I don't want to that this code is executed
if(flagConf == 1)
{
...do something...
}
break;
case R.id.buttonConfirm:
if(myFlag == 1) //to avoid multiple touch of this button
{
...do something...
myFlag = 0;
sendData();
if(dataSent)
...do something...
else
...do something...
myFlag = 1; //I set this flag to 1 because, if message is not sent, the user have to re-pressed the buttonConfirm and try again
}
break;
}
}
また、他のボタン リスナーでは次のようになります。
ありがとう