ListView의 메뉴중에
조회수 660회
ListView의 메뉴가
" A ", " B ", " C " , " D " 가 있을 때, 나머지는 그렇다치고 "D"에 대한 터치 이벤트에 제한을 걸고 싶습니다
예를 들어,
홈키를 누르면서 Menu 키를 5번 눌러야 메뉴가 활성화 된다 라는 제한을 걸려면 어떤식으로 걸어야하나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
말씀하신 조건에 대한 여부를 boolean 으로 저장하고 있다는 가정하에,
boolean isActivation; view.setOnClickListener(new View.OnClickListener{ @Override public void onClick(View v){ if(!isActiovation) return; //do something } });
위와같이 구현할수 있습니다. ClickListener 를 달지 않거나 touchEvent 자체를 막는 방법도 생각해볼수 있습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
- 막는 방법에 대해서 알려주셔서 감사합니다! 이걸 Xamarin으로 바꾸는 과정에서 힘들어서 물어본건데 일단 그건 제가 한번 해보겠습니다! 그런데 문제는 "홈키를 누르면서 Menu 키를 5번 눌러야 메뉴가 활성화 된다" 이 부분입니다. 버튼을 5번 눌렀다는 건 어떻게 표현해야할까요? 알 수 없는 사용자 2018.7.12 13:08
- 홈키는 말씀드렸다시피 이벤트 제어 불가능합니다. userVisibleHint 등으로 홈키가 눌렸다 라는 것을 유추 할수있는 다른방법이 있긴한데, 이것은 이미 홈키가 눌린 후 동작이 된 상태의 콜백이라 무의미 할것 같구요.. 하드키를 말씀하시는 거라면 onKeyEvnet 를 override 하여 원하는 키가 눌렸을떄 count 를 해서 count 가 5가 되면 메뉴를 활성화 시키면 됩니다. 알 수 없는 사용자 2018.7.12 13:16
- 아 하드키 맞습니다. Count를 따로 정의해 주면 되는건가요? 알 수 없는 사용자 2018.7.12 14:26
- 네 count 변수를 하나두고 해당 키가 눌렸을떄 카운트 해주는식으로 처리하시면 될 것 같습니다 알 수 없는 사용자 2018.7.12 15:25
- 네 한번 도전해보겠습니다! 감사합니다! 알 수 없는 사용자 2018.7.12 15:49
-
댓글 입력