오늘 코틀린은 어댑터에 관해 자세히 배웠다구 해야 하나....
사실 진도를 나간 부분이 크지 않습니닷!
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ListView
android:id="@+id/list1"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
우선 이렇게 ListView 위젯을 하나 만들어줬는데용
오늘 주목해야 할 부분은 kt 코드입니닷.
this.title = "리스트뷰 테스트 학번 이름"
var idols = arrayOf("블랙핑크", "엑디즈", "BTS", "잇지", "보넥도", "라이즈", "루시")
var list = findViewById<ListView>(R.id.list1)
var adap : ArrayAdapter<String> = ArrayAdapter(this, android.R.layout.simple_list_item_1, idols)
list.adapter = adap
list.setOnItemClickListener { adapterView, view, i, l ->
Toast.makeText(this, idols[i], Toast.LENGTH_SHORT).show()
}
이 코드를 실행하면 결과화면은 제가 원하는 그룹을 눌렀을 때 밑에 제가 선택한 그룹 이름이 뜨게 됩니닷!
코드 해석을 해드리자면....
this.title = "리스트뷰 테스트 학번 이름"
우선 액티비티의 제목을 "리스트뷰 테스트 학번 이름" 으로 앱 상단 제목 바에 보이게 됩니닷.
var idols = arrayOf("블랙핑크", "엑디즈", "BTS", "잇지", "보넥도", "라이즈", "루시")
그리고 idols 라는 배열에 arrayOf 로 원하는 아이돌 그룹을 저장합니다.
var list = findViewById<ListView>(R.id.list1)
다음으로는 list 라는 배열 안에 xml 에서 만들었던 아이디가 list1 인 ListView 를 가져옵니다.
var adap: ArrayAdapter<String> = ArrayAdapter(this, android.R.layout.simple_list_item_1, idols)
위 코드는 저도 조금 어려워서 정확하게 이해를 한 것은 아니지만......ㅠㅠ....
대략적으로 설명하자면 idols 배열을 사용해 ListView 에 연결하여 어댑터를 사용하여 보여준다는 코드 같아여!
list.adapter = adap
어댑터는 데이터와 화면의 중간 역할입니다!~ 그래서 어댑터를 설정하고~
list.setOnItemClickListener { adapterView, view, i, l ->
Toast.makeText(this, idols[i], Toast.LENGTH_SHORT).show()
}
list 라는 변수에 어댑터를 설정하고 짧은 시간 동안 메세지로 화면에 표시하는 코드입니닷.
요 부분도 조금 어려워서... 살짝 정확하게 이해한 건 아니지만 i 는 인덱스 번호입니닷!
생각보다 어댑터 사용 방법이 어려워서 당황을 많이 했지만! 마무리를 잘 하였습니당 ^_~
이 부분에 대해 심층 있게 배워서.......TT 이것 밖에 못 배웠지만 다음 번에 더 많이 배워서 가져오겠습니닷!
'레쭈고 코틀린' 카테고리의 다른 글
Kotlin 10차시 (0) | 2024.11.10 |
---|---|
Kotlin 9차시 (1) | 2024.10.31 |
Kotlin 7차시 (3) | 2024.10.21 |
Kotlin 6차시 (3) | 2024.09.27 |
Kotlin 5차시 (0) | 2024.09.26 |