본문 바로가기
프로젝트/Android

ListView에 클릭리스너 달기

by 1005ptr 2018. 9. 24.
반응형

ListView에 클릭 리스너 다는건 크게 어렵지 않다.


ListView listView = findViewById(R.id.listView);

listView.setOnItemClickListener( new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

// parent : 선택된 ItemView의 부모 == listView

// view : 선택된 ItemView 자체

// position : 선택된 ItemView의 position

// listView.getItemAtPosition(int position) 등에 쓸 수 있다.

// id : ??

     }

});


문제는 안드로이드의 UI 계층 구조

아래와 같은 리스트뷰의 경우 화면상에 


이런 계층 구조로 존재하게 된다.


우리는 맨 아래에 있는 ListView에 Click 이벤트 리스너를 달았다.

그런데 ItemView나 ItemView위의 TextView가 Clickable, Focusable인 경우 해당 View에서 클릭이벤트를 먹어비리고, ListView에는 클릭이벤트가 도달하지 못하게 된다.


이부분만 조심하면 되겠다.

반응형

'프로젝트 > Android' 카테고리의 다른 글

ListView의 Choice Mode  (0) 2018.09.24
Thread와 static 변수  (0) 2018.09.18
자원재활용 contentView  (0) 2018.09.08
Android에서 SpreadGrid UI 만들기  (0) 2018.09.08

댓글