在学习这些之前呢,我们先来了解一下关于Spinner、ArrayAdapter、SimpleAdapter、AutoCompleteTextView的作用:

Spinner :下拉列表视图 ,他的父类是AbSpinner->AdapterView

ArrayAdapter:数组适配器,可以结合Spinner使用,而且数据源只能是文本集合

AdapterView:适配器视图,即Adapter控件,内容通常是一个包含多项相同格式资源的列表,每次只能显示其中一项哦!

SimpleAdapter:简单适配器,如果想让Spinner,listView等组件中每一条显示的数据类型和个数不止一个,就需要用到SimpleAdapter适配器来适应数据

AutoCompleteTextVier:自动提示完成文本框:他的父类是:EditText。

下面呢,我们来具体讲解一下:

一:Spinner:下拉列表视图

1.使用方法:

<Spinnerandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/sp">
</Spinner>

下拉菜单一共有两种展示模式:

dropdown:纵向展示

dialog:横向展示

注意!视图列表Spinner的数据源是数组或者集合,具体怎么使用,不要着急,往下看哦

二:ArrayAdapter:数组适配器

1.一共有6种构造方法

1.1三个参数的构造方法;

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.simple_spinner_drowdown_inem,list);

参数一:上下文对象

参数二:条目布局id,该布局中只能含有一个TextView

参数三:数据源List<String> list

1.2两个参数的构造方法:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.simple_spinner_drowdown_inem);

参数一:上下文对象

参数二:条目布局id,该布局中只能含有一个TextView

当用了两个参数的时候,adapet没有数据源,所以需要调用:adapet.add(list),添加数据源

使用适配列表视图设置适配器:spinner.setAdapter(adapter);

2.父类是:BaseAdapter

3.数据源只能是文本集合

4.注意:item条目局部只能是TextViev!

三:ArrayAdapter的方法:

1.添加数据:

单个数据对象:adapter.add("对象");

添加String集合:adapter.addAll(list);

2.移除数据:

adapter.remove("对象");

3.刷新数据:

adapter.notifyDataSetChanged();

spinner的监听器:

sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {//当选择的时候执行该方法@Overridepublic void onNothingSelected(AdapterView<?> parent) {//什么都没选}
});

SimpleAdapter:简单适配器

如果想让Spinner,ListView等组件中每一条显示的数据类型和个数不止一个,就需要用到SimpleAdapter适配器来适配数据了。

SimpleAdapter的数据源必须是:List<Map<String,Object>> list;而且必须自定义条目布局

模拟器模拟数据源:

        private ArrayList<Map<String,Object>> arrayList = new ArrayList<>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.myactivity_layout);autoCompleteTextView = findViewById(R.id.tctv);sp = findViewById(R.id.sp);for (int i = 0; i < 10; i++) {HashMap<String,Object> hashMap = new HashMap<>();hashMap.put("name","haha"+i);hashMap.put("age",i+"");hashMap.put("pic",R.mipmap.ic_launcher);hashMap.put("inMan",true);arrayList.add(hashMap);}String[] keys = {"name","age","pic","isMan"};int[] ids = {R.id.name,R.id.age,R.id.pic,R.id.isMan};SimpleAdapter simpleAdapter = new SimpleAdapter(this,arrayList,R.layout.item_layout,keys,ids);sp.setAdapter(simpleAdapter);

自定义条目布局:

先创建一个Layout xml,然后在进行布局:

<?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"android:textSize="24sp"android:textStyle="italic"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/name"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/age"/><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/pic"/><CheckBoxandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/isMan"/>
</LinearLayout>

SimpleAdapter的构造:5个参数

1.上下文对象

2.数据源

3.item布局条目的id

4.数据源Map中Key的集合数组

5.item布局中所有视图id的集合数组,要与第四条一一对应

        String[] keys = {"name","age","pic","isMan"};int[] ids = {R.id.name,R.id.age,R.id.pic,R.id.isMan};
适配器 : SimpleAdapter simpleAdapter = new SimpleAdapter(this,arrayList,R.layout.item_layout,keys,ids);sp.setAdapter(simpleAdapter);

四:AutoCompleteTextView:自动提示完成文本框

父类:EditText

属性:

android:completionHint       设置出现在下拉提示列表 底部的提示信息

android:completionThreshold    即用户至少输入多少个字符才会显示提示

android:dropDownHorizontalOffset设置下拉菜单于文本框之间的水平偏移。下拉菜单默认与文本框左对齐

android:dropDownVerticalOffset设置下拉菜单于文本框之间的垂直偏移。下拉菜单默认紧跟文本框

android:dropDownHeight      设置下拉菜单的高度

android:dropDownWidth       设置下拉菜单的宽度

使用方法:和Spinner一样的使用方法,配个ArrayAdapter适配器

效果:输入开头,会根据数据源提示

例如:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,R.layout.,arraylist);

autoCompleteTextView.setAdapter(arrayAdapter);

好啦,我们就说到这里哦!

android--Spinne下拉列表视图r、ArrayAdapter数组适配器、SimpleAdapte简单适配器r、AutoCompleteTextView自动提示完成文本框相关推荐

  1. android文本框自动补全,[Android]AutoCompleteTextView自动补全文本框

    当我们在做项目的时候,往往有着这样的需求:(1)在登陆的时候,在输入的账号的过程中弹出补全账号的提示(2)在搜索的时候,在输入搜索词的过程中弹出补全搜索词的提示,就像: 而这时,AutoComplet ...

  2. Android AutoCompleteTextView自动提示文本框

    效果 使用方法: 在布局文件中: <AutoCompleteTextViewandroid:id="@+id/autotextview"android:completionT ...

  3. Android的高级控件(自动提示文本框与下拉列表)

    一.高级控件与常用控件的区别:是否使用适配器 二.适配器 1.种类 ①.数组适配器 ArrayAdapter       new ArrayAdapter<String>(this,R.l ...

  4. android autocompletetextview 自定义,AutoCompleteTextView 自定义提示样式

    项目中用到AutoCompleteTextView  自动提示功能,如果用自带的ArrayAdapter就一种样式,非常丑,而且每一项提示文字过多的话不会自动换行. 所以自己自定义了一个适配器. 效果 ...

  5. android实现文本输入,Android实现智能提示的文本输入框AutoCompleteTextView

    今天我们要讲一个十分简单的内容,就是一个安卓控件的使用,用法很简单,但是很常用的一个.这里我用两种不同的写法来处理.当然,无论用哪一种写法,效果都是一样的. 我们先来看效果图. 要实现这种效果十分简单 ...

  6. Android学习笔记 2.5.3 实例——使用SimpleAdapter创建ListView 2.5.4 自动完成文本框(AutoCompleteTextView)的功能与用法

    Android学习笔记 疯狂Android讲义 文章目录 Android学习笔记 疯狂Android讲义 第2章 Android 应用的界面编程 2.5 第4组 UI组件:AdapterView及其子 ...

  7. android 自动补全方法,Android零基础入门|自动完成文本框AutoCompleteTextView

    原标题:Android零基础入门|自动完成文本框AutoCompleteTextView 上一期学习的Spinner的使用,掌握的怎么样?本期一起来学习AutoCompleteTextView的使用. ...

  8. Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)

    Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)

  9. Android页面下拉列表的简单页面

    首先打开安卓的ADT软件 创建一个项目,取名为Day08 我们今天创建这样的一个Android页面 视图分析:该图是由6个线性布局<LinearLayout>(如下图六个红线框框),文本框 ...

最新文章

  1. 一次失败的尝试:paxosstore示例编译
  2. 杨百万建议股民可以从以下几个方面进行
  3. 安装memory analyzer
  4. 双目摄像头 三维坐标 python_时间编码单像素三维成像:挑战三维成像的速度极限...
  5. 条款七 为多态基类声明virtual析构函数
  6. Windows 10如何消除文件夹右上角的“相对箭头”?
  7. 【洛谷P4315】月下“毛景树”(树链剖分)
  8. WinAPI: SetTextJustification - 设置两端对齐
  9. Python文本数据及其可视化
  10. 相控阵天线面阵方向图(FFT变换)
  11. C/C++中绝对值函数
  12. 今日卢布美元汇率换算
  13. uniapp 连接ibeacon beacon
  14. preempt_disable导致的cyclictest测试延时超标
  15. win7打开任务管理器的快捷键
  16. 机器学习基础---pr曲线的绘制
  17. led手电筒烧灯珠_浅谈务优LED手电筒灯珠型号与区别技巧
  18. 嵌入式系统与通用计算机操作系统的区别
  19. 深入理解vue中的slot与slot-scope (简单易懂)
  20. 【渝粤教育】电大中专电大中专职业生涯规划考试考核试题作业 题库

热门文章

  1. wxWidgets 2.8线程
  2. Mac超实用的使用技巧
  3. 与员工沟通 你需要知道的6种聊天姿势
  4. 射频电路设计实录第二章,产品技术指标
  5. 随笔-Unity中修改Spine材质
  6. 2020年戴森设计大奖国际20强揭晓;香港航空将运营“飞悦香港”环港航班 | 美通企业日报...
  7. vue 文件目录详解
  8. 常用的seo工具有哪些?推荐这4个seo工具
  9. java反射(3):Method代表类
  10. Python 调用百度通用翻译接口