ListView의 주요 메소드들
ListView와 Adapter를 선언하는 방법은 이전 글에서 확인가능.
이 글에서는 ListView의 자주 쓰이는 기본적인 메소드들 몇개 설명.
http://developer.android.com/reference/android/widget/ListView.html 에서 더 많은 메소드들을 확인할 수 있다.
1. ChoiceMode
ListView의 각 항목들을 선택하는 모드 설정
ListView list = (ListView)findViewById(R.id.list);
list.setAdapter(Adapter);
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
다음 네 가지 선택옵션이 있다.
CHOICE_MODE_NONE
CHOICE_MODE_SINGLE
CHOICE_MODE_MULTIPLE
CHOICE_MODE_MULTIPLE_MODAL
2. OverScrollMode
ListView의 오버스크롤(리스트의 끝에 도달했을 때 계속 스크롤) 모드를 설정한다.
list.setOverScrollMode(View.OVER_SCROLL_ALWAYS);
OVER_SCROLL_ALWAYS: 오버스크롤을 항상 허가한다. (젤리빈에서는 파란색 음영으로 표시)
OVER_SCROLL_NEVER: 오버스크롤을 허가하지 않는다.
OVER_SCROLL_IF_CONTENT_SCROLLS: 내용물이 스크롤할만큼 클 대만 허용한다. 한 화면에 다 표시되는 경우는 NEVER, 스크롤 가능한 경우는 ALWAYS와 같다.
3. ItemClickListener
ListView의 item을 클릭했을 때 동작을 정의한다.
list.setOnItemClickListener(itemClickListener); AdapterView.OnItemClickListener itemClickListener2 = new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView parent, View view, int position, long id){ // TODO Auto-generated method stub } };
position은 클릭한 아이템의 해당 ListView에서의 위치(position; 0, 1, 2, .., n-1)를 의미한다.
4. OnScrollListener
ListView를 스크롤 했을 때 동작을 정의한다.
list.setOnScrollListener(new OnScrollListener() { @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // TODO Auto-generated method stub } @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // TODO Auto-generated method stub } }
onScroll은 스크롤중일 때, onScrollStateChanged는 스크롤 하는 상태가 바뀔 때 호출된다.
onScroll 메소드의 firstVisibleItem은 스크롤 중 해당 ListView의 가장 위에 보이는 항목의 위치(position; 0, 1, 2, .., n-1)를 의미한다.
onScrollStateChanged의 scrollState의 종류는 다음과 같다.
SCROLL_STATE_IDLE (0) |
스크롤중이 아닌 상태 |
SCROLL_STATE_TOUCH_SCROLL (1) |
화면을 터치하여 스크롤중인 상태 |
SCROLL_STATE_FLING (2) |
사용자가 손가락을 떼고나서도 아직 스크롤중인 상태 |
'개발 > Android' 카테고리의 다른 글
View에 Scrollbar 제거 및 변경옵션 (0) | 2013.02.12 |
---|---|
Viewgroup, View, ListView (0) | 2013.02.07 |