什么是适配器
(。・∀・)ノ゙嗨
先不说 Adapter接口的概念,只说对适配器的理解先。
适配器,通俗一点说就是一种起中间连接作用的配件,使用这种配件的作用在于简化主机的硬件设计,增加主机的通用性和灵活性。
举个例子来说吧:显示卡是使用的最多的适配器了,由于我们能见到的显示器种类太多,他们的分辨率和刷新频率都会有差别,如果让主板上的显示输出口为各种类型的显示器准备好不同的输出信号,那恐怕这块电路板就要比主板还要大了,而且这块主板一生最多也就能配几个类型的显示器使用,多余的就浪费了,于是人们达成共识:主板只提供显示接口,具体的显示类型单独做一块显示卡,形成主板-显示卡-显示器这样一个硬件连接形式,这样既节省主板的电路,又可以根据需要通过更换显示卡来适应显示器的需要。这块显示卡又称显示适配器。
适配器是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口。比如:电源适配器、三角架基座转接部件、USB与串口的转接设备等。
Adapter接口
AdapterView用于显示,它显示的列表项需要Adapter提供。调用setAdapter(adapter)
即可。
显示列表需要数据,那么adapter就是数据和显示之间的桥梁。
String[] arr1 = new String[]{"孙悟空", "猪八戒", "牛魔王"};
// 将数据包装为ArrayAdapter
ArrayAdapter adapter1 = new ArrayAdapter(this, R.layout.array_item, arr1);
// 为ListView设置Adapter
list1.setAdapter(adapter1);
下面是源码:
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView list1 = findViewById(R.id.list1);
// 定义一个数组
String[] arr1 = new String[]{"孙悟空", "猪八戒", "牛魔王"};
// 将数组包装为ArrayAdapter
ArrayAdapter adapter1 = new ArrayAdapter(this, R.layout.array_item, arr1);
// 为ListView设置Adapter
list1.setAdapter(adapter1);
ListView list2 = findViewById(R.id.list2);
// 定义一个数组
String[] arr2 = new String[]{"Java", "Hibernate", "Spring", "Android"};
// 将数组包装为ArrayAdapter
ArrayAdapter adapter2 = new ArrayAdapter(this, R.layout.checked_item, arr2);
// 为ListView设置Adapter
list2.setAdapter(adapter2);
}
}
AdapterView和子类
Adapter接口及实现类