반응형
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 |
댓글