Tools/Android Studio

[ Android Studio ] 안드로이드 리스트뷰 어댑터( ListView, Adapter ) 사용하기

리신 2021. 10. 27. 16:27
반응형

리스트뷰(ListView)란?


- ListView는 일반적으로 리스트 형태로 된 화면 컨트롤이다.

- 여러 개의 아이템 중에 하나를 선택할 수 있는 위젯들을 Selection Widget이라 부름.

 

 

어댑터의 개념을 모른다면 링크 클릭

2021.10.27 - [Tools/Android Studio] - [ Android ] 안드로이드 어댑터(Adapter)와 어댑터뷰(Adapter View)란? 어댑터(Adapter) 개념

 

[ Android ] 안드로이드 어댑터(Adapter)와 어댑터뷰(Adapter View)란? 어댑터(Adapter) 개념

어댑터(Adapter)란? 여러 Palette가 있는데 View를 드래그하여 화면에 올리면 그 위에서 다양한 데이터를 올릴 수 있다. 데이터를 올리는 부분에서 뷰와 데이터를 연결해주는 다리역할을 하는것이 어

dev-cini.tistory.com

 

예제소스 [코틀린]


activity_main.xml

 

[소스코드]

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <Gallery
        android:id="@+id/gallery1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:spacing="5dp"/>
    <ImageView
        android:id="@+id/ivPoster"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="20dp"/>

</LinearLayout>

MainActivity

[소스코드]

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.ArrayAdapter
import android.widget.ListView
import android.widget.Toast

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 타이틀
        title = "List View"

        // 리스트뷰에 담을 데이터 리스트
        var mid = arrayOf("히어로즈","24시","로스트")

        // ListView 객체
        var list = findViewById<View>(R.id.listView) as ListView

        // 배열(리스트)와 어탭터 뷰를 연결하는 ArrayAdapter 객체생성
        // 배열 데이터 셋팅
        var adapter : ArrayAdapter<String> = ArrayAdapter(this,android.R.layout.simple_expandable_list_item_1, mid)

        // 리스트뷰에 어댑터 연결
        list.adapter = adapter

        // 리스트 클릭 시 해당 데이터를 Toast로 보여줌.
        list.setOnItemClickListener{ parent, view, position, id ->
            Toast.makeText(applicationContext,mid[position],Toast.LENGTH_SHORT).show()
        }
    }
}

 

❕❓ ArrayAdapter란? 배열과 어댑터 뷰를 연결하는 클래스이다.

 

 

 

반응형