ListView使用(一)ArraryAdapter

ListView是Android最常用的控件之一,它是长数据显示的重要组成部分,因为手机的屏幕大小有限,一次性只能显示定量的数据,ListView的功能是将数据通过交互,使数据在手机屏幕上刷新显示。

ListView的重点是适配器的设置使用。

ListView简单使用之ArrayAdapter

使用Android自带的适配器进行ListView的使用

创建ListView布局

1
2
3
4
5
6
7
8
<ListView
android:id="@+id/list_item"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

功能代码

data 是我们要显示的数据

ArrayAdapter是BaseAdapter的派生类,在BaseAdapter的基础上,添加了一项重大的功能:可以直接使用泛型构造。

android.R.layout.simple_list_item_activated_1 是我们使用的Android官方自带的list布局,这种布局最简单,只有一个TextView

listView.setAdapter(adapter);设置数据适配器

参数1:当前上下文环境

参数2:android.R.layout.simple_list_item_1 是android自带的一个简单布局 里面只包含一个id为text1的TextView

ArrayAdapter只能显示一行数据 显示文本信息 使用这个系统提供的布局就可以
android系统还给我们提供了其他一些好用的模板

simple_list_item_1 : 单独一行的文本框

simple_list_item_2 : 两个文本框组成

simple_list_item_checked : 每项都是由一个已选中的列表项

simple_list_item_multiple_choice : 都带有一个复选框

simple_list_item_single_choice : 都带有一个单选钮

参数4:绑定的数据 这里使用是string数组 上面提到过ArrayAdapter支持泛型 也可以绑定一个list

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 public class MainActivity extends AppCompatActivity {
private String[] data = { "Apple", "Banana", "Orange", "Watermelon",
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango" ,
"Banana", "Orange", "Watermelon",
"Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango"};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_activated_1,data);

ListView listView = findViewById(R.id.list_item);

listView.setAdapter(adapter);

}
}

调试画面

ListView 简单使用二