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读写外部存储
- Kotlin Android弹出菜单
- Kotlin Android选项菜单
- Kotlin Android通知
- Kotlin Android媒体播放器
- Kotlin Android Google Map当前位置
- Kotlin Android隐式Intent
- 使用URL的Kotlin Android JSON解析
- Kotlin Android Google Map固定位置