0
회 전자를 두 번 누르면 두 개의 메뉴가 표시됩니다. 두 번 탭을 사용 중지하는 방법은 무엇입니까?안드로이드에서 회 전자를 두 번 탭하는 것을 비활성화하는 방법은 무엇입니까?
private static final int CLICK_DELAY = 500;
private long lastMenuClickTime = 0;
actionsSpinner.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (SystemClock.elapsedRealtime() - lastMenuClickTime > CLICK_DELAY) {
lastMenuClickTime = SystemClock.elapsedRealtime();
return false;
}
}
return true;
}
});
아래와 같이
는 TouchListeners
을 추가하는 시도하지만이 CLICK_DELAY이 작동하지 않는 후에도 첫 번째 클릭은 클릭 작동 및 주요 문제를 실행에 약간의 지연을 추가합니다.
우리가 OnClickListener를가 (그 버튼이 아니라) 스피너에 추가 할 수 없습니다 그래서 나는 스피너의 클릭에 disableTouch()를 걸 수 없다! – kumar
수정 된 답변 죄송합니다. 실수로보기에는 매개 변수를 전달할 수 있습니다. 'onTouch()'에서'disableTouch()'를 호출하십시오. –
disableTouch()를 호출 할 시점이 무엇입니까? 스피너가 생성 된 후에 호출하면 생성 후 CLICK_DELAY 후에 스피너가 활성화됩니다. 스피너가 지원하지 않으므로 onClickListener로 호출 할 수 없습니다! – kumar