-
高级控件与低级控件的区别:是否使用适配器
-
适配器种类和作用
(1)种类
a.数组适配器 ArrayAdapter
b.简单适配器 SimpleAdapter
// 创建SimpleAdapter
SimpleAdapter adapter = new SimpleAdapter(this, listItems,R.layout.items, new String[] { “title”, “image” }, new int[]{R.id.title,R.id.image });
//SimpleAdapter(Context context, List<? extends Map
一、 自定义适配器中的方法
getCount
getView
getItem
getItemId
二、LayoutInflater(布局解析器)–有三种获得方式
方式一:
LayoutInflater inflater1 = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view1 = inflater1.inflate(R.layout.fragment_layout, null);
方式二:
LayoutInflater inflater2 = LayoutInflater.from(getApplicationContext());
View view2 = inflater2.inflate(R.layout.fragment_layout, null);
View view3 = LayoutInflater.from(getApplicationContext()).inflate(
R.layout.fragment_layout, null);
方式三:
LayoutInflater inflater3 = getLayoutInflater();
View view4 = inflater2.inflate(R.layout.fragment_layout, null);
Context context, 上下文
List<? extends Map<String,?>> data, 数据源
int resource, 项资源文件
String[] from, 数据源中的键集合
int[] to 项资源文件中的所有控件
c.自定义适配器
(2)作用
BaseAdapter:是所有适配器类的父类,可以对列表项进行最大限度的定制基础数据适配器,它的主要用途是将一组数据传到例如ListView等UI显示组件,继承自接口类Adapter,由于是基础类型,所以自由度高,可以修改的地方多。
SimpleAdapter:简单适配器,系统自定义了一些方法,可以重写这些方法。
ArrayAdapter:数据和UI一对一,传入数据源和布局文件,完成显示。
SimpleCursorAdapter:指向性适配器,指向数据库,可以方便地把数据库的内容以列表的形式展示出来
3.高级控件使用步骤
(1)获取数据
(2) 创建适配器
(3) 绑定适配器
4.自动提示文本框
(1) AutoCompleteTextView(单一提示):继承EditText,能够支持EditText的全部属性,能够接受用户的输入编辑,输入一定的字符以后会弹出下拉列表提示供用户选择,用户选择之后会自动填充文本框。
android:completionThreshold=“1” 指定输入多少个字符以后会出现提示
(2) MultiAutoCompleteTextView(多次提示)
//设置多次提示时,设置分隔符方法
Tokenizer t = new MultiAutoCompleteTextView.CommaTokenizer();
mactv_main.setTokenizer(t);
两种自动提示文本框的异同:
AutoCompleteTextView:支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据
MultiAutoCompleteTextView: 可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配。
可用在发短信,发邮件时选择联系人这种类型当中。
5.下拉框(Spinner)
(1)事件监听
AdapterView.OnItemSelectedListener
核心:
1、数组适配器
2、获取下拉框的值
3、简单适配器