안드로이드 개발 질문/답변
(글 수 45,052)
GridView에서 아이템이 많을 경우 터치나 DPAD를 이용하면 스크롤이 되는 것은 알고있습니다.
제가 하고 싶은것은 터치나 DPAD가 아닌 다른 컴포넌트(ex. 버튼) 등을 선택했을때
정해진 일정한 속도로 자동 스크롤(터치로 드래그 하는 듯이)이 되게 하고 싶습니다.
(아래와 같은 구성에서 UP/DOWN버튼을 누르면 가운데 GridView가 마치 터치로 드래그 하듯이 스크롤..)

DPAD에 의한 스크롤은 GridView에서 터치에 의한 스크롤은 부모 클래스인 AbsListView에서
처리하는 것으로 알고 있습니다. 두 클래스를 찾아봐도 DPAD 및 터치에 의한 스크롤 말고는
스크롤을 컨트롤 하는 메쏘드는 없는 것 같습니다.(스크롤 관련 처리는 모두 public으로 처리가
안되고 내부적으로 같습니다.) 따라서 위 두 클래스를 상속받아서 처리를 할 방법이 마땅치 않네요.
그렇타고 GridView를 사용하지 않고 새로운 View를 만든다는 것도 엄두가 안나고... ㅡㅡ
혹시 좋은 방법이 없을까요?
공지사항은 다 읽었습니다.
제가 하고 싶은것은 터치나 DPAD가 아닌 다른 컴포넌트(ex. 버튼) 등을 선택했을때
정해진 일정한 속도로 자동 스크롤(터치로 드래그 하는 듯이)이 되게 하고 싶습니다.
(아래와 같은 구성에서 UP/DOWN버튼을 누르면 가운데 GridView가 마치 터치로 드래그 하듯이 스크롤..)

DPAD에 의한 스크롤은 GridView에서 터치에 의한 스크롤은 부모 클래스인 AbsListView에서
처리하는 것으로 알고 있습니다. 두 클래스를 찾아봐도 DPAD 및 터치에 의한 스크롤 말고는
스크롤을 컨트롤 하는 메쏘드는 없는 것 같습니다.(스크롤 관련 처리는 모두 public으로 처리가
안되고 내부적으로 같습니다.) 따라서 위 두 클래스를 상속받아서 처리를 할 방법이 마땅치 않네요.
그렇타고 GridView를 사용하지 않고 새로운 View를 만든다는 것도 엄두가 안나고... ㅡㅡ
혹시 좋은 방법이 없을까요?
공지사항은 다 읽었습니다.
2009.09.09 11:23:20
회색님 답변 감사합니다.
GridView에서도 setSelection을 하면 아이템이 이동을 하긴 합니다.
그런데, 바로 이동을 하고 focus를 가지기 때문에 제가 원하는 동작(touch drag처럼)이 안되더라구요.
onKeyDown 에뮬레이션은 쉽게 되었는데, 이역시 제가 원하는 동작은 아니구요.
onTouchEvent는 MotionEvent의 내용이 많아서 객체생성을 하기가 좀 난감해 못해봤는데..
좋은 구현 방법은 아닌듯해서 고민하다가 문의를 드린건데..
흠.. 정녕 이방법밖에 없는건가요ㅜㅜ
만약 별다른 방법이 없다면 onTouchEvent나 onKeyDown등을 에뮬레이션해서 넣어주는 방법도 있을듯 합니다. onKeyDown은 쉽겠지만 onTouchDown은 쉽지 않겟네요.