본문 바로가기
Android

[Kotlin] Android ListView ItemClick Listener

by bryan.oh 2023. 8. 31.
반응형

 

ListView 가 아래와 같이 있을 때,

    <ListView
        android:id="@+id/listviewtest_listview"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

viewBinding 을 사용했다면 

binding.listviewtestListview 로 쓸수있습니다. binding 이 아니면 findViewById 로 listview 를 가져오면됩니다.

binding.listviewtestListview.setOnItemClickListener { parent, view, position, id ->
    // do something..
}

 

이전 글에서 ListView 를 만들었을 때, 아래와 같이 사용할 수 있습니다.

아래는 LiveData 를 조회했기 때문이고요.

binding.listviewtestListview.setOnItemClickListener { parent, view, position, id ->
    val item: PublicHolidays? = holidayAdapter?.getItem(position)
    Toast.makeText(this, item?.dateName, Toast.LENGTH_SHORT).show()
}

 

데이터를 List<PublicHolidays> itemList 로 Activity 의 변수로 갖고있다면 position 으로 접근 가능합니다.

val itemList = mutableListOf<PublicHolidays>()
itemList.add(publicHolidays01)
itemList.add(publicHolidays02)

binding.listviewtestListview.setOnItemClickListener { parent, view, position, id ->
    val item = itemList.get(position)
    Toast.makeText(this, item.dateName, Toast.LENGTH_SHORT).show()
}

 

 

728x90
반응형

댓글