Kotlin Android ListView

Android ListView是一个视图组件, 其中包含项目列表, 并显示在可滚动列表中。使用Adapter类将列表项自动添加到列表中。 Adapter类在AdapterViews其他View组件(ListView, ScrollView等)之间桥接数据列表。
调用setAdapter(adapter)将适配器与列表连接, 以在列表视图中显示项目。要了解有关Android ListView的更多信息, 请访问https://www.srcmini.com/android-listview-exampler
Kotlin Android ListView示例
在此示例中, 我们将创建一个ListView并对列表项执行单击操作。列表的项可以在类文件中或在单独的文件(例如strings.xml)中创建。
【Kotlin Android ListView】例如, 在类文件中创建列表项, 并将其添加到ArrayAdapter类中:

val language = arrayOf< String> ("C", "C++", "Java", ".Net", "Kotlin", "Ruby", "Rails", "Python", "Java Script", "Php", "Ajax", "Perl", "Hadoop") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val arrayAdapter = ArrayAdapter< String> (this, android.R.layout.simple_list_item_1, language) listView.adapter = arrayAdapter }

在单独的strings.xml文件中创建列表项, 并将其添加到ArrayAdapter类上:
< string-array name="technology_list"> < item> C< /item> < item> C++< /item> < item> Java< /item> < item> .Net< /item> < /string-array> val language:Array< String> = resources.getStringArray(R.array.technology_list) val arrayAdapter = ArrayAdapter< String> (this, android.R.layout.simple_list_item_1, language) listView.adapter = arrayAdapter

activity_main.xml
添加一个ListView组件以显示activity_main.xml文件中的项目列表。
< ?xml version="1.0" encoding="utf-8"?> < android.support.constraint.ConstraintLayout 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" tools:context="example.srcmini.com.kotlinlistview.MainActivity"> < ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="fill_parent" /> < /android.support.constraint.ConstraintLayout>

strings.xml
在strings.xml文件中, 创建一个字符串数组, 然后在item标记中添加列表项。
< resources> < string name="app_name"> Kotlin ListView< /string> < string-array name="technology_list"> < item> C< /item> < item> C++< /item> < item> Java< /item> < item> .Net< /item> < item> Kotlin< /item> < item> Ruby< /item> < item> Rails< /item> < item> Python< /item> < item> Java Script< /item> < item> Php< /item> < item> Ajax< /item> < item> Perl< /item> < item> Hadoop< /item> < /string-array> < /resources>

MainActivity.kt
在MainActivity.kt类文件中添加以下代码。在此类中, 我们使用resource.getStringArray()方法从strings.xml文件中获取项目列表。使用应用程序上下文初始化的ArrayAdapter类将列表和数组项的资源类型设置为参数。 listView.adapter = arrayAdapter将适配器设置为ListView。要对列表项执行点击操作, 请调用OnItemClickListener {}。
package example.srcmini.com.kotlinlistviewimport android.support.v7.app.AppCompatActivity import android.os.Bundle import android.widget.* import kotlinx.android.synthetic.main.activity_main.*class MainActivity : AppCompatActivity() {// val language = arrayOf< String> ("C", "C++", "Java", ".Net", "Kotlin", "Ruby", "Rails", "Python", "Java Script", "Php", "Ajax", "Perl", "Hadoop")override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main)val language:Array< String> = resources.getStringArray(R.array.technology_list) val arrayAdapter = ArrayAdapter< String> (this, android.R.layout.simple_list_item_1, language)listView.adapter = arrayAdapter listView.onItemClickListener = AdapterView.OnItemClickListener { adapterView, view, position, id -> val selectedItem = adapterView.getItemAtPosition(position) as String val itemIdAtPos = adapterView.getItemIdAtPosition(position)Toast.makeText(applicationContext, "click item $selectedItem its position $itemIdAtPos", Toast.LENGTH_SHORT).show() } } }

输出:
Kotlin Android ListView

文章图片
Kotlin Android ListView

文章图片

    推荐阅读