Programming/Android

ListView 메서드

2013. 2. 8. 12:33
반응형

이 글에서는 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