一、高级控件与常用控件的区别:是否使用适配器

二、适配器

1、种类
①、数组适配器 ArrayAdapter
      new ArrayAdapter<String>(this,R.layout.actv_style, names);

②、简单适配器 SimpleAdapter
      也叫“并不简单的简单适配器”

③、自定义适配器

2、作用: 桥梁、展示

三、高级控件使用步骤:①获取数据 、②创建适配器 、③绑定适配器

四、自动提示文本框

1、种类:

①单一提示【 AutoCompleteTextView】 
②多次提示【MultiAutoCompleteTextView】

//设置多次提示时,设置分隔符方法
Tokenizer t = new MultiAutoCompleteTextView.CommaTokenizer();
mactv_main.setTokenizer(t);

2、实例:

activity_main_xml的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><AutoCompleteTextViewandroid:id="@+id/act_main_act1"android:layout_width="match_parent"android:layout_height="60dp" /><Spinnerandroid:id="@+id/sp_main_sp1"android:layout_width="match_parent"android:layout_height="wrap_content"></Spinner>
</LinearLayout>

配置MainActivity.java方法:

package com.example.t212_a07;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.Toast;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class MainActivity extends AppCompatActivity {//声明一个数组private String[] date1;//声明一个适配器private ArrayAdapter<String> adapter1;//声明提示框空间private AutoCompleteTextView act_main_act1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);act_main_act1 = findViewById(R.id.act_main_act1);//①获取数据date1 = new String[]{"愤怒的小鸟", "汤姆猫", "落汤鸡", "牛牛", "哈巴狗", "神龙", "烤    鸭", "小象", "美人鱼", "九尾狐"};//②创建适配器adapter1 = new ArrayAdapter<>(this, R.layout.act_main_item1, date1);//③绑定适配器act_main_act1.setAdapter(adapter1);}

五、下拉框(Spinner)

1、实例:

素材(在MainActivity.java里添加) :

String[] names = { "愤怒的小鸟", "汤姆猫", "落汤鸡", "牛牛", "哈巴狗", "神龙", "烤鸭","小象", "美人鱼", "九尾狐" };
int[] images = { R.drawable.bird, R.drawable.cat, R.drawable.chicken,R.drawable.cow, R.drawable.dog, R.drawable.dragon,R.drawable.duck, R.drawable.elephant, R.drawable.fish,R.drawable.fox };

activity_main_xml的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><AutoCompleteTextViewandroid:id="@+id/act_main_act1"android:layout_width="match_parent"android:layout_height="60dp" /><Spinnerandroid:id="@+id/sp_main_sp2"android:layout_width="match_parent"android:layout_height="wrap_content"></Spinner>

配置MainActivity.java方法:

package com.example.t212_a07;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.Toast;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class MainActivity extends AppCompatActivity {//下拉框声明值//声明数组private List<Option> data2;//声明适配器private ArrayAdapter<Option> adapter2;//声明下拉框private Spinner sp_main_sp1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sp_main_sp2 = findViewById(R.id.sp_main_sp2);//获取数据源data2 = loadData2();//创建适配器adapter2 = new ArrayAdapter<Option>(this, R.layout.act_main_item1, data2);//绑定适配器sp_main_sp1.setAdapter(adapter2);sp_main_sp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {//选中的项Option selectedItem = (Option) parent.getSelectedItem();//打印  Toast.makeText(MainActivity.this,selectedItem.getHtml(),Toast.LENGTH_LONG).show();}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}});//获取数据源的过程(下拉框)private List<Option> loadData2() {List<Book > list = new BookDAO().list();List<Option> optionList = new ArrayList<>();for (Book book : list){optionList.add(new Option(book.getId()+"",book.getName()));}return optionList;}}

六、简单适配器的实例:

activity_main_xml的布局:

简单适配器的activity_main_xml参考下拉框的activity_main_xml

配置MainActivity.java方法:

package com.example.t212_a07;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.Toast;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class MainActivity extends AppCompatActivity {private List<Map<String,Object>> data3;private SimpleAdapter adapter3;private Spinner sp_main_sp2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);data3 = loadData3();adapter3 = new SimpleAdapter(this,data3,R.layout.sp_main_itme2,new String[] {"image","name"},new int[]{R.id.iv_main_item_iv1,R.id.tv_main_item_tv1});sp_main_sp2.setAdapter(adapter3);}private List<Map<String,Object>> loadData3() {List<Book> list = new BookDAO().list();List<Map<String,Object>> mapList = new ArrayList<>();Map<String,Object> map = null;for (Book book : list){map = new HashMap<>();map.put("name",book.getName());map.put("image",book.getImage());mapList.add(map);//调试// Log.i("test","----------"+map.get("name"));}return mapList;}
}

七、事件监听

AdapterView.OnItemSelectedListener

Android的高级控件(自动提示文本框与下拉列表)相关推荐

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

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

  2. Android AutoCompleteTextView自动提示文本框

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

  3. 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第八章:高级控件

    本章介绍了App开发常用的一些高级控件用法,主要包括:如何使用下拉框及其适配器.如何使用列表 类视图及其适配器.如何使用翻页类视图及其适配器.如何使用碎片及其适配器等.然后结合本章所学 的知识,演示了 ...

  4. android_高级控件_1

    有蛮久没更新了今天来记录一下android的高级控件 AutoCompleteTextView(自动补全): 开发过web项目的小伙伴们应该知道在web项目中实现自动补全是有多麻烦,在安卓开发中实现自 ...

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

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

  6. Android从入门到进阶之高级控件

    高级控件 1.自动完成文本控件 在搜索引擎(百度.搜狗)输入几个文字,会出来一些提示.可以减少用户的输入,提高程序的效率.刚才看到的自动提示,ajax技术. 1.1AotoCompleteTextVi ...

  7. Android高级控件----AdapterView与Adapter详解

    在J2EE中提供过一种非常好的框架--MVC框架,实现原理:数据模型M(Model)存放数据,利用控制器C(Controller)将数据显示在视图V(View)上.在Android中有这样一种高级控件 ...

  8. 移动开发技术(Android)——实验5 Android高级控件的应用

    移动开发技术--实验5 Android高级控件的应用 一.实验目的 二.实验内容 1.Spinner.ListView控件与Adapter适配器(一) 2.Spinner.ListView控件与Ada ...

  9. 《移动项目实践》实验报告——Android高级控件

    实验目的 1.熟悉App开发常用的一些高级控件及相关工具,主要包括日期时间控件的用法.列表类视图及其适配器的用法.翻页类视图及其适配器的用法.碎片及其适配器的用法等: 2.熟悉四大组件之一广播Broa ...

最新文章

  1. Java知识点总结——装箱与拆箱
  2. rest_快速检查REST API是否有效的方法-从清单文件中获取详细信息
  3. 比iPhone8更重要的新App Store,给内容产品的未来指出明路
  4. BZOJ3294 CQOI2011放棋子(动态规划)
  5. Eclipse 不为人所知的另一面 - 企业管理软件领域 ABAP 编程语言开发利器
  6. 基于hadoop架构的企业数字化转型,阿里数据中台实战案例
  7. Windows下安装NPM
  8. 华为交换机eth口作用_华为交换机口如何绑定端口号
  9. HDU 1024 (不重叠m段最大和) Max Sum Plus Plus
  10. 用于微服务和ML解决方案管道的消息队列(Kafka和Zookeeper)
  11. matlab java mac_macOS Mojave上Matlab 2018a与Java的联合编程
  12. 与孩子一起学编程10章
  13. 2013年c语言课后作业答案,大一C语言课后习题答案.doc
  14. 死机后硬关机造成oracle故障,电脑死机故障汇总:各种死机现象分析
  15. 管理后台登入万能密码合集
  16. 优秀课程案例:使用Scratch制作飞机大战游戏!
  17. vscode 如何快速跳出括号
  18. linux进阶-网络安全系统网站服务
  19. Springboot中使用阿里云短信验证码服务
  20. 「Hudi系列」Hudi查询写入常见问题汇总

热门文章

  1. 下载java免安装包_下载并获取免安装版的JDK、JRE和源码包
  2. WPF WrapPanel IsMouseOver 控制Visibility控件不停闪烁
  3. 太赞了!别再说 不能用Python开发美观的GUI程序了!
  4. 1-Ubuntu18.04安装教程
  5. 做自媒体的素材都是在哪里找的呢?
  6. Double Q-learning
  7. 关于tcp连接中timewait的作用
  8. 如何防止XSS攻击?
  9. 安卓WebApp开发-项目MiliSetu
  10. 第2章 微服务构建:Spring Boot