반응형
이 글에서는 ListView의 자주 쓰이는 기본적인 메서드들 몇 가지를 설명합니다.
Android Developer - ListView에서 더 많은 메서드들을 확인할 수 있습니다.
ListView | API reference | Android Developers
developer.android.com
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);
| Option | Description |
|---|---|
| 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의 종류는 다음과 같습니다.
| Option | Description |
|---|---|
| SCROLL_STATE_IDLE (0) | 스크롤중이 아닌 상태 |
| SCROLL_STATE_TOUCH_SCROLL (1) | 화면을 터치하여 스크롤중인 상태 |
| SCROLL_STATE_FLING (2) | 사용자가 손가락을 떼고나서도 아직 스크롤중인 상태 |
반응형
'Programming > Android' 카테고리의 다른 글
| View에 Scrollbar 제거 및 변경옵션 (0) | 2013.02.12 |
|---|