Android 앱용 작업 표시 줄을 설계했습니다. 이 작업 표시 줄에는 내 앱 동작을 구성하는 데 사용되는 대화 상자 활동을 시작하는 버튼이 있습니다. 이 버튼을 충분히 빠르게 두 번 클릭하면 실제로 나타나기 전에 Dialog Activity가 두 번 실행되도록 주문할 수 있습니다. 그러면 중복되고 시각적으로 중복되어 나타나기 때문에이 작업을 원하지 않습니다. 일종의 잠금 메커니즘을 만들려고했지만 주 활동 (onOptionsItemSelected) 메서드를 호출하는 코드가 모두 실행 된 후에야 내 대화 상자 작업이 시작되기 때문에 작동하지 않습니다. 이 양식을 피할 수있는 방법이 있습니까?두 번 클릭하지 못하도록 액션 바에서 항목 피하십시오
내 코드는 다음과 같습니다
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//ensure only one element from the option menu is launched at once (if you double click fast you could launch two)
Log.e("test", "onOptionsItemSelected ");
if(optionItemAlreadySelected == false)
{
optionItemAlreadySelected = true;
int id = item.getItemId();
if (id == R.id.action_sound_mode) {
//item.setVisible(false);
Intent intent = new Intent(this, SoundConfigurationActivity.class);
startActivity(intent);
optionItemAlreadySelected = false; //this code is executed before the activity is started!!!
return true;
}
}
return super.onOptionsItemSelected(item);
}
다이얼로그 활동이 이미 폐쇄 때 알고 그때까지 한 번 다시 열 수있는 기회를 잠글 수있는 방법이 있나요.
[안드로이드는 버튼을 두 번 클릭 방지]의 사용 가능한 복제 (http://stackoverflow.com/questions/5608720/android-prevention-double-click-on-a-button) – earthw0rmjim