레쭈고 코틀린

Kotlin 8차시

정땅미 2024. 10. 23. 20:41

오늘 코틀린은 어댑터에 관해 자세히 배웠다구 해야 하나....

사실 진도를 나간 부분이 크지 않습니닷!

<?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