android kotlin - ListView example


Chào các bạn, hôm nay mình xin chia sẻ với các bạn một ví dụ về listView trong lập trình android bằng ngôn ngữ kotlin.


MainActivity.kt


package com.nhathoang.listviewexamples

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import android.widget.AdapterView
import android.widget.ArrayAdapter


class MainActivity : AppCompatActivity() {

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

        // danh sách các màu
        val colors = listOf("Red", "Green", "Blue", "Yellow", "Black", "Crimson", "Orange")

        // Tạo ArrayAdapter từ List
        val adapter = ArrayAdapter<String>(
                this, // Context
                android.R.layout.simple_list_item_1, // Layout
                colors // List
        )

        // Cuối cùng, đổ dữ liệu về list
        list_view.adapter = adapter;

        // Bắt sự kiện cho ListView
        list_view.onItemClickListener = AdapterView.OnItemClickListener { parent, view, position, id ->
            // Lấy sự kiện cho ListView
            val selectedItem = parent.getItemAtPosition(position) as String

            // Hiển thị mục được chọn trên TextView
            text_view.text = "Your favorite color: $selectedItem"
        }
    }
}


activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/root_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    >
    <TextView
        android:id="@+id/text_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:textStyle="bold|italic"
        android:textColor="#f72242"
        android:text="Select your favorite color"
        />
    <ListView
        android:id="@+id/list_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="25dp"
        />
</LinearLayout>

Và sau đây là kết quả. khi ta bấm vào màu thì sẽ hiển thị màu được chọn trên toast.

  



Chúc các bạn thành công