1.ListView的用法
1.什么是LIstView?
LIstView是用来显示一些数据量很大的布局方式,排列的方式显示在界面中,如果数据量超出界面显示的内容,可以滚动显示。
2.ListView的简单用法
ListView中常用的属性:
请参考Android ListView常用属性解析 - 简书
创建一个简单的ListView布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!--布局一定要铺满,使用warp_parent可能会只出现一个Item的情况-->
<ListView android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>
创建Activity与LIstView布局中的连接
class ListViewActivity : AppCompatActivity() {
// 初始化集合
private val data:List<String> = listOf("as","2","3","4");
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_view);
val inflate = ActivityListViewBinding.inflate(layoutInflater)
super.setContentView(inflate.root);
// listView无法直接在界面中加载,必须搭配适配器使用,R.layout.simple_dropdown_item_1line为安卓自带的简单布局
val adapter = ArrayAdapter(this,android.R.layout.simple_list_item_1,data);
// 传入适配器
inflate.listView.adapter = adapter;
}
}
-
由于listView要显示大量数据,所以将要数据提前准备好装载在到List中
private val data:List<String> = listOf("as","2","3","4");
-
集合数据是无法直接传递到ListView的所以需要创建一个适配器,Android已经提前准备好了很多适配器,这里使用最简单的ArrayAdapter,Adapter接受三个参数
1.上下文
2.子布局使用的是系统自带的android.R.layout.simple_list_item_1,是一个只显示文本的简单布局
3.List<T>装载的是数据源,也就是提前准备好的List
// 创建适配器对象:参数 1.上下文 2.子视图 3.List<T> val adapter = ArrayAdapter(this,android.R.layout.simple_list_item_1,data);
-
调用listView对象的setAdapter()方法将适配器对象传入其中,这样适配器于LIstView中的关联就建立完成了,运行后