본문 바로가기
안드로이드

[Android] ListView

by 엘딘 2022. 3. 25.
1. activity_main.xml
<androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    <TextView
            android:id="@+id/textView"
            android:layout_width="122dp"
            android:layout_height="43dp"
            android:text="Hello World!"
            android:textSize="20dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.029"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"/>
    <ListView
            android:id="@+id/listView"
            android:layout_width="598dp"
            android:layout_height="869dp"
            tools:layout_editor_absoluteY="90dp"
            tools:layout_editor_absoluteX="1dp"
            tools:ignore="MissingConstraints"/>

</androidx.constraintlayout.widget.ConstraintLayout>

 

 

2. item_spinner.xml
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listItem"
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:paddingTop="10dp"
    android:paddingStart="30dp"
    android:textColor="@android:color/white"
    android:textSize="15sp"
    android:paddingLeft="30dp"/>

 

 

3. MainActivity
class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {

    var items = arrayOf(
        "서울", "부산", "대구", "광주", "대전", "울산", "전주", "목포",
        "제주", "강원", "태백", "인천", "서울", "부산", "대구", "광주",
        "대전", "울산", "전주", "목포", "제주", "강원", "태백", "인천",
        "서울", "부산", "대구", "광주", "대전", "울산", "전주", "목포",
        "제주", "강원", "태백", "인천"
    )


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

        val listView = findViewById<View>(R.id.listView) as ListView
        val textView = findViewById<TextView>(R.id.textView)
        // Activity에서 글자 크기 조절
        textView.setTextSize(Dimension.SP, 28.0f)

        // Adapter
        // <*>, <Any> : 어떤 자료형이든 데이터가 들어 올 수 있도록
        val adapter:ArrayAdapter<*> = ArrayAdapter<Any?>(this, R.layout.item_spinner, items)

        listView.adapter = adapter

        // listView에서 아이템을 누르면 나타나는 이벤트이기때문에 onItemClickListener 추가
        listView.onItemClickListener = this
    }

    override fun onItemClick(p0: AdapterView<*>?, p1: View?, pos: Int, p3: Long) {
        val textView = findViewById<TextView>(R.id.textView)
        // listView에서 클릭한 데이터 출력
        // pos는 클릭한 아이템 번호
        textView.text = items[pos]
    }
}

'안드로이드' 카테고리의 다른 글

[Android] GridView  (0) 2022.03.25
[Android] ScrollView  (0) 2022.03.25
[Android] ListView  (0) 2022.03.24
[Android] image  (0) 2022.03.23
[Android] spinner  (0) 2022.03.23

댓글