버튼을 누르면 응용 프로그램이 서버에 데이터를 보내려고합니다. 연결이 활성이면 데이터가 즉시 전송되지만 연결이 끊어지면 시스템은 x 초 동안 전송을 시도합니다. 사실, 그 시간 동안 인터페이스는 (의도적으로) 차단됩니다 (현재 작업을 강조하기 위해 버튼이 켜집니다). 문제는 사용자가 다른 버튼을 누르기 시작하면 이벤트가 들리고 연결이 활성화되면 해당 이벤트와 관련된 모든 작업을 수행한다는 것입니다.
어떻게 방지 할 수 있습니까?
해당하는 것을 방지하는 방법 다른 버튼과 관련된 각 이벤트가 처리되지 않도록하려면 어떻게해야합니까? 모든 제안은 매우 감사하겠습니다.Android : 버튼 클릭 후 인식되는 이벤트 삭제
이미 플래그 단추를 눌렀을 때 플래그가-잘 살고 다시 때, 불행하게도, 모든 이벤트 사로 잡았 및 실행 확인하기 위해 노력했습니다 편집 :
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;
}
}
을 그리고 다른 버튼을 청취자 :
감사
불행히도 이미이 작업을 수행했지만 다른 모든 이벤트는 처리됩니다 ... 연결이 켜지면 모든 이벤트가 처리됩니다. – Ant4res
Hmmm ... 코드에 다른 것이없는 한 이해가되지 않습니다. 위의 코드를'onClick' 내부에서 시도해 보았지만 코드는 여전히 실행됩니까? 이 경우에는 코드의 일부를 게시하여 진행 상황을 정확히 볼 수 있습니다. – codeMagic
제 질문을 수정했습니다. 감사합니다. – Ant4res