SimpleAdapter和AutoCompleteTextView配合使用
修改后成为这样→ 
package com.kale.autocompletetextview; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map; import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast; public class MainActivity extends Activity { AutoCompleteTextView acTv,sacTv;
MultiAutoCompleteTextView mcTv;
String []books = new String[] {
"android",
"java",
"xml",
"Ant"
}; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建一个adapter来封装数组
ArrayAdapter<String> aa = new ArrayAdapter<>(this,
android.R.layout.simple_dropdown_item_1line,books);
acTv = (AutoCompleteTextView)findViewById(R.id.auto_autoCompleteTv_id);
acTv.setAdapter(aa); mcTv = (MultiAutoCompleteTextView)findViewById(R.id.multi_autoCompleteTv_id);
mcTv.setAdapter(aa);
//为其设置分割符
mcTv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); sacTv = (AutoCompleteTextView)findViewById(R.id.simple_autoCompleteTv_id); ArrayList<Map<String, String>> list = new ArrayList<Map<String,String>>();
addItems(list);
SimpleAdapter phone = new SimpleAdapter( this, list,
R.layout.item,
new String[] { "text", "name"},
new int[] { R.id.text_textView_id, R.id.name_textView_id } );
sacTv.setAdapter(phone);
sacTv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View parent, int position,long id) {
TextView tv = (TextView)parent.findViewById(R.id.name_textView_id);
sacTv.setText(tv.getText().toString()+" ");
sacTv.setSelection((sacTv.getText().toString()).length());
}
}); } private void addItems(ArrayList<Map<String,String>> list) {
HashMap<String,String> item;
/*所有的搜索词语拼接成brandSearchText字段,用空格隔开。
比如:“诺基亚 NOKIA njy nuojiya”,把它作为搜索词,以便提高效率
但我们不想要把所有的相关词显示,我们只需要显示主要的那个,即:name的值。
text和name键对应的值都是候选项,但我们只显示的是name中的文字。*/ item = new HashMap<String,String>();
item.put( "text", "NOKIA nuojiya NJY");
item.put( "name", "诺基亚");
list.add( item ); item = new HashMap<String,String>();
item.put( "text", "SAMSUNG SX sanxing");
item.put( "name", "三星");
list.add( item ); item = new HashMap<String,String>();
item.put( "text", "摩托罗拉 moto MTLL motuoluola motoloar");
item.put( "name", "摩托罗拉");
list.add( item );
} }
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="wrap_content"
android:orientation="horizontal"
android:padding="8dp"> <TextView
android:id="@+id/text_textView_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="Medium Text"
android:visibility="gone"
android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView
android:id="@+id/name_textView_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textColor="#0000ff"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout>
源码下载:http://download.csdn.net/detail/shark0017/7647965
SimpleAdapter和AutoCompleteTextView配合使用的更多相关文章
- Android UI系列-----EditText和AutoCompleteTextView
在这篇随笔里将主要讲解一下EditText和AutoCompleteTextView这个控件 1.EditText 首先我们先简单来说说EditText这个控件,这个就相当于我们平常web开发中的文本 ...
- AutoCompleteTextView 简单用法 实现自定义list adapter
网上有不少教程,那个提示框字符集都是事先写好的,例如用一个String[] 数组去包含了这些数据,但是,我们也可以吧用户输入的作为历史记录保存 下面先上我写的代码:import andro ...
- Android搜索自动提示功能 AutocompleteTextView
1.配置main.xml中自动提示控件: <AutoCompleteTextView android:id="@+id/autotv_searchresult" androi ...
- Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度
Android AutoCompleteTextView 控件实现类似被搜索提示,效果如下 1.首先贴出布局代码 activity_main.xml: <?xml version="1 ...
- Android零基础入门第47节:自动完成文本框AutoCompleteTextView
原文:Android零基础入门第47节:自动完成文本框AutoCompleteTextView 上一期学习的Spinner的使用,掌握的怎么样?本期一起来学习AutoCompleteTextView的 ...
- Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器
一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...
- Android日记-SimpleAdapter和BaseAdapter
SimpleAdapter 这是一个简单的适配器,可以将静态数据映射到XML文件中定义好的视图.你可以指定由Map组成的List(比如ArrayList)类型的数据.在ArrayList中的每个条目对 ...
- Android常用组件之AutoCompleteTextView
安卓组件中,凡是需要配置数据的组件,一般都是用Adapter配置. AutoCompleteTextView的使用方法与ListView类似,也是用setAdapter来设置数据. MultiAuto ...
- Android:控件AutoCompleteTextView 自动提示
在文本框中输入,要这样的提示效果,如果你输入的是aac,在输入aa后,选择aac,文本框的内容会自动补齐,输入aac(类似百度搜索文本框的显示结果) <AutoCompleteTextVie ...
随机推荐
- PHP并发操作下的加锁
最近做后台统计的工具,统计肯定是一个需要运算好久的数据 容许一个用户在一个时间内进行操作,这个时候就需要用到锁了,将这个操作过程锁起来.在用了cache的时候,cache失效可能导致瞬间的多数并发请求 ...
- hive的实现机制
hive利用hdfs存储数据文件,利用MapReduce查询数据. 数据库:支持在线联机业务(实时.事务控制) 数据仓库:存储历史数据,面向主题的.主要用于离线数据分析的.
- 如何对手机使用adb
因为要配合前端做测试,所以我需要在本机中安装adb驱动,以便可以连接手机进行各种操作. 好吧...装adb驱动这块当时我没有把流程给做记录...郁闷,下次再安装的时候再谷歌吧. 使用的简单脚本就是 有 ...
- 局域网内其他主机如何访问运行在宿主机的虚拟机中的Django项目(转)
局域网内其他主机如何访问运行在宿主机的虚拟机中的Django项目 1.在宿主机cmd中查看宿主机的ip(注意区分主机中虚拟机的ip) 我连的是无线,IP如下 2.在Django项目的mysit ...
- 024.Zabbix告警等级机制
一 等级告警 告警升级可以对告警结果按自定义的时间段进行进行消息发送,并执行命令,形成一个梯度的告警处理. 二 按时间自定义告警梯度 2.1 添加时间发生的时间戳和发送时间 2.2 设置三个等级梯度 ...
- 命令:history
简介 shell进程会在其会话中保存此前用户执行过的命令. 历史列表(history list):当前shell所使用的历史命令存储位置. 历史文件(history file):每次登入shell,就 ...
- Centos 首次运行MySQL
1:启动MySQL systemctl start mysqld.service 2:查看MySQL运行状态 systemctl status mysqld.service 3:查看默认密码 grep ...
- IllegalArgumentException: Unmatched braces in the pattern.
IllegalArgumentException: Unmatched braces in the pattern. 非法参数异常. 不匹配的 吊带 在 样品 中. === 没有管. 项目一直卡在d ...
- spring boot学习总结(二)-- 关于@SpringBootApplication的一些基础知识点
1.@SpringBootApplication 它是一个复合Annotation,实际上对于SpringBoot应用来说,最重要的是只有三个 @Target(ElementType.TYPE) @R ...
- MIPS Mars 安装
Mars 4.5下载 Java 环境配置好了以后可以直接双击打开 Mars