-
AdapterView类的控件必须和Adapter(适配器)配合使用。
-
数据适配器是数据与视图之间的桥梁,它类似于一个转换器,将复杂的数据转换成用户接受的方式进行呈现。
-
一些常用的AdapterView:
1、Spinner。
2、ListView。
3、RecyclerView。
-
常用数据适配器
1、ArrayAdapter(数组适配器)
对于纯文字的列表项,通常使用ArrayAdapter.
2、SimpleAdapter(简单适配器)
可以实现图文混排的效果。
3、BaseAdapter(基本适配器)
应用最广泛,是一个抽象类。
-
BaseAdapter是基本的适配器。他实际上是一个抽象类,通常在自定义适配器时会继承BaseAdapter。
-
BaseAdapter中的方法
public intgetCount():获取Item条目的总数
public Object getItem(int position):根据position(位置)获取某个Item的对象
public long getItemId(int position):根据position(位置)获取某个Item的id
public View getView(int position, View convertView, ViewGroup parent)
-
ArrayAdapter是BaseAdapter的子类,开发者只需要在构造方法里面传入相应参数即可。ArrayAdapter通常用于适配TextView控件。
-
其构造方法如下:
public ArrayAdapter(Context context,int resource);
public ArrayAdapter(Context context,int resource, int textViewResourceId);
public ArrayAdapter(Context context,int resource,T[] objects);
public ArrayAdapter(Context context,int resource,int textViewResourceId,T[] objects);
public ArrayAdapter(Context context,int resource,List<T> objects);
public ArrayAdapter(Context context,int resource,int textViewResourceId, List<T> objects)
示例:
String[] data={“北京”,”上海”,”郑州”}; //数据源
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this, android.R.layout.simple_spinner_item, data);
//ArrayAdapter通过泛型指定要适配的数据类型
Spinner sp= findViewById(R.id.sp_city); //初始化控件
sp.setAdapter(adapter);//控件绑定适配器
RecyclerView
-
RecyclerView:是Android5.0之后提供的用于在有限的窗口范围内显示大量数据的控件。
-
RecyclerView的优势:
1、展示效果:RecyclerView控件可以通过LayoutManager类实现横向或竖向的列表效果、瀑布流效果和GridView效果。
2、适配器:RecyclerView控件使用的是RecyclerView.Adapter适配器,在适配器中强制使用ViewHolder类,使代码编写规范化,避免了初学者写的代码性能不佳。
3、动画效果:RecyclerView控件可以通过setItemAnimator()方法为Item添加动画效果。
-
RecyclerView的使用步骤:
1、添加RecyclerView控件。
2、编写RecyclerView的item布局。
3、实现逻辑
(1)实例化RecyclerView控件
(2)设置布局管理器 : setLayoutManager()方法。
(3)设置数据适配器
(4)给RecyclerView控件添加适配器: setAdapter()方法。
-
Adapter的创建
1、定义一个类继承RecyclerView .Adapter。
2、定义一个内部类,继承RecyclerView .ViewHolder。
3、重写RecyclerView .Adapter 中的三个方法:
onCreateViewHolder()方法
onBindViewHolder()方法
getItemCount()方法。