修改后成为这样→   

  1. package com.kale.autocompletetextview;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6.  
  7. import android.app.Activity;
  8. import android.os.Bundle;
  9. import android.view.View;
  10. import android.widget.AdapterView;
  11. import android.widget.AdapterView.OnItemClickListener;
  12. import android.widget.ArrayAdapter;
  13. import android.widget.AutoCompleteTextView;
  14. import android.widget.MultiAutoCompleteTextView;
  15. import android.widget.SimpleAdapter;
  16. import android.widget.TextView;
  17. import android.widget.Toast;
  18.  
  19. public class MainActivity extends Activity {
  20.  
  21. AutoCompleteTextView acTv,sacTv;
  22. MultiAutoCompleteTextView mcTv;
  23. String []books = new String[] {
  24. "android",
  25. "java",
  26. "xml",
  27. "Ant"
  28. };
  29.  
  30. @Override
  31. protected void onCreate(Bundle savedInstanceState) {
  32. super.onCreate(savedInstanceState);
  33. setContentView(R.layout.activity_main);
  34. //创建一个adapter来封装数组
  35. ArrayAdapter<String> aa = new ArrayAdapter<>(this,
  36. android.R.layout.simple_dropdown_item_1line,books);
  37. acTv = (AutoCompleteTextView)findViewById(R.id.auto_autoCompleteTv_id);
  38. acTv.setAdapter(aa);
  39.  
  40. mcTv = (MultiAutoCompleteTextView)findViewById(R.id.multi_autoCompleteTv_id);
  41. mcTv.setAdapter(aa);
  42. //为其设置分割符
  43. mcTv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
  44.  
  45. sacTv = (AutoCompleteTextView)findViewById(R.id.simple_autoCompleteTv_id);
  46.  
  47. ArrayList<Map<String, String>> list = new ArrayList<Map<String,String>>();
  48. addItems(list);
  49. SimpleAdapter phone = new SimpleAdapter( this, list,
  50. R.layout.item,
  51. new String[] { "text", "name"},
  52. new int[] { R.id.text_textView_id, R.id.name_textView_id } );
  53. sacTv.setAdapter(phone);
  54. sacTv.setOnItemClickListener(new OnItemClickListener(){
  55. @Override
  56. public void onItemClick(AdapterView<?> arg0, View parent, int position,long id) {
  57. TextView tv = (TextView)parent.findViewById(R.id.name_textView_id);
  58. sacTv.setText(tv.getText().toString()+" ");
  59. sacTv.setSelection((sacTv.getText().toString()).length());
  60. }
  61. });
  62.  
  63. }
  64.  
  65. private void addItems(ArrayList<Map<String,String>> list) {
  66. HashMap<String,String> item;
  67. /*所有的搜索词语拼接成brandSearchText字段,用空格隔开。
  68. 比如:“诺基亚 NOKIA njy nuojiya”,把它作为搜索词,以便提高效率
  69. 但我们不想要把所有的相关词显示,我们只需要显示主要的那个,即:name的值。
  70. text和name键对应的值都是候选项,但我们只显示的是name中的文字。*/
  71.  
  72. item = new HashMap<String,String>();
  73. item.put( "text", "NOKIA nuojiya NJY");
  74. item.put( "name", "诺基亚");
  75. list.add( item );
  76.  
  77. item = new HashMap<String,String>();
  78. item.put( "text", "SAMSUNG SX sanxing");
  79. item.put( "name", "三星");
  80. list.add( item );
  81.  
  82. item = new HashMap<String,String>();
  83. item.put( "text", "摩托罗拉 moto MTLL motuoluola motoloar");
  84. item.put( "name", "摩托罗拉");
  85. list.add( item );
  86. }
  87.  
  88. }

xml文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. android:orientation="horizontal"
  6. android:padding="8dp">
  7.  
  8. <TextView
  9. android:id="@+id/text_textView_id"
  10. android:layout_width="match_parent"
  11. android:layout_height="wrap_content"
  12. android:gravity="center_horizontal"
  13. android:text="Medium Text"
  14. android:visibility="gone"
  15. android:textAppearance="?android:attr/textAppearanceMedium" />
  16.  
  17. <TextView
  18. android:id="@+id/name_textView_id"
  19. android:layout_width="match_parent"
  20. android:layout_height="wrap_content"
  21. android:gravity="center_horizontal"
  22. android:textColor="#0000ff"
  23. android:text="Medium Text"
  24. android:textAppearance="?android:attr/textAppearanceMedium" />
  25.  
  26. </LinearLayout>

源码下载:http://download.csdn.net/detail/shark0017/7647965

SimpleAdapter和AutoCompleteTextView配合使用的更多相关文章

  1. Android UI系列-----EditText和AutoCompleteTextView

    在这篇随笔里将主要讲解一下EditText和AutoCompleteTextView这个控件 1.EditText 首先我们先简单来说说EditText这个控件,这个就相当于我们平常web开发中的文本 ...

  2. AutoCompleteTextView 简单用法 实现自定义list adapter

    网上有不少教程,那个提示框字符集都是事先写好的,例如用一个String[] 数组去包含了这些数据,但是,我们也可以吧用户输入的作为历史记录保存       下面先上我写的代码:import andro ...

  3. Android搜索自动提示功能 AutocompleteTextView

    1.配置main.xml中自动提示控件: <AutoCompleteTextView android:id="@+id/autotv_searchresult" androi ...

  4. Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度

    Android AutoCompleteTextView 控件实现类似被搜索提示,效果如下 1.首先贴出布局代码 activity_main.xml: <?xml version="1 ...

  5. Android零基础入门第47节:自动完成文本框AutoCompleteTextView

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

  6. Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器

    一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...

  7. Android日记-SimpleAdapter和BaseAdapter

    SimpleAdapter 这是一个简单的适配器,可以将静态数据映射到XML文件中定义好的视图.你可以指定由Map组成的List(比如ArrayList)类型的数据.在ArrayList中的每个条目对 ...

  8. Android常用组件之AutoCompleteTextView

    安卓组件中,凡是需要配置数据的组件,一般都是用Adapter配置. AutoCompleteTextView的使用方法与ListView类似,也是用setAdapter来设置数据. MultiAuto ...

  9. Android:控件AutoCompleteTextView 自动提示

    在文本框中输入,要这样的提示效果,如果你输入的是aac,在输入aa后,选择aac,文本框的内容会自动补齐,输入aac(类似百度搜索文本框的显示结果)   <AutoCompleteTextVie ...

随机推荐

  1. .NetCore使用FluentValidation实现友好验证提示

    Nuget包导入FluentValidation.AspNetCore 官方的用法是在services中添加如下来操作 services.AddMvc().AddFluentValidation(co ...

  2. 【BZOJ】3640: JC的小苹果

    题解 我们考虑列出期望方程组,\(dp[i][j]\)表示在第\(i\)个点血量为\(j\)的时候到达\(N\)点的概率,所有的\(dp[N][j]\)都是1,所有\(j < 0\)都是0 答案 ...

  3. Storm介绍及核心组件和编程模型

    离线计算 离线计算:批量获取数据.批量传输数据.周期性批量计算数据.数据展示 代表技术:Sqoop批量导入数据.HDFS批量存储数据.MapReduce批量计算数据.Hive批量计算数据.azkaba ...

  4. Hive项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  5. 医学图像之DICOM格式解析

    最近导师给安排了新任务,由于刚进入实验室,对于医学图像这一块还一知半解,所以就想分享一下有关医学常见影像的学习(尤其是dicom后缀的图像文件),欢迎大家一起交流. 目录 1.医学影像学的介绍 2.D ...

  6. AI技术在智能海报设计中的应用

    背景 在视觉设计领域中,设计师们往往会因为一些简单需求付出相当多的时间,比如修改文案内容,设计简单的海报版式,针对不同机型.展位的多尺寸拓展等.这些工作需要耗费大量的时间.人力成本(5~6张/人日), ...

  7. 解决Windows10下无法对docker容器进行端口访问(端口映射的问题)

    解决Windows10下无法对docker容器进行端口访问(端口映射的问题) 问题详情 在Windows10系统服务器中安装了docker和docker-compose 并尝试在其中运行Nginx服务 ...

  8. java中的PO,VO,TO,BO,DAO,POJO的解释

    java的(PO,VO,TO,BO,DAO,POJO)解释  O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定 ...

  9. 修改无线wifi网络名称。注册表。windows 无线属性 windows 无线 配置文件

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha windows 无线属性 windows 无线 配置文件 ======= 修改完成,之后 ...

  10. hdu 5772 String problem 最大权闭合子图

    String problem 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5772 Description This is a simple pro ...