android自动提示输入框
2015-12-29 13:54
337 查看
其实android有自带的自动提示输入框(类似百度搜索时自动弹出一些提示,如下图),不需要我们自己去实现的。
在android里有两种自动提示输入框,分别是AutoCompleteTextView和MultiAutoCompleteTextView
那么它们有什么区别呢?嘿嘿,先来运行下下面的例子,你就明白了
实现代码
android:completionThreshold 设置用户至少输入多少个字符才会显示提示
android:dropDownHorizontalOffset 下拉菜单于文本框之间的水平偏移。默认与文本框左对齐
android:dropDownHeight 下拉菜单的高度
android:dropDownWidth 下拉菜单的宽度
android:singleLine 单行 显示
android:dropDownVerticalOffset 垂直偏移量
dismissDropDown():如果存在关闭下拉菜单
getAdapter():获取适配器
(此方法并不是检验什么时候文本的总长度超过了预定的值,而是在仅当从函数findTokenStart()到getSelectionEnd()函数得到的文本长度为0或者超过了预定值的时候才起作用。)
performValidation():此子类方法并不是用来确定整个文本的有效性,而是用来确定文本中的单个符号的有效性。空标记将被移除。
setTokenizer(MultiAutoCompleteTextView.Tokenizer t):用户正在输入时,tokenizer设置将用于确定文本相关范围内
哎,这些重要方法和属性也是笔者网上查的,描述的真是让人醉了。。。。详见/article/4602589.html
在android里有两种自动提示输入框,分别是AutoCompleteTextView和MultiAutoCompleteTextView
那么它们有什么区别呢?嘿嘿,先来运行下下面的例子,你就明白了
布局文件
<?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:orientation="vertical" > <AutoCompleteTextView android:id="@+id/autoCompleteTextView" android:layout_width="match_parent" android:layout_height="wrap_content" /> <MultiAutoCompleteTextView android:id="@+id/multiAutoCompleteTextView" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
实现代码
package com.example.autocompletetextview; import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; public class MainActivity extends Activity { //初始化 private static final String[] city=new String[] {"孙悟空", "孙悟饭", "孙悟天", "贝吉塔","短笛大魔王", "界王神", "悟天克斯", "特兰克斯","特兰验证","唐僧"}; //声明AutoCompleteTextView、MultiAutoCompleteTextView对象 private AutoCompleteTextView autoCompleteTextView=null; private MultiAutoCompleteTextView multiAutoCompleteTextView=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取AutoCompleteTextView、MultiAutoCompleteTextView对象 autoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView); multiAutoCompleteTextView=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView); //创建适配器 ArrayAdapter<String> adapter=new ArrayAdapter<String>( this, android.R.layout.simple_dropdown_item_1line, city); //初始化autoCompleteTextView autoCompleteTextView.setAdapter(adapter); //设置输入多少字符后提示,默认值为2,在此设为1 autoCompleteTextView.setThreshold(2); //初始化multiAutoCompleteTextView multiAutoCompleteTextView.setAdapter(adapter); multiAutoCompleteTextView.setThreshold(1); //用户必须提供一个MultiAutoCompleteTextView.Tokenizer用来区分不同的子串。 multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); } }拷贝运行后,你会发现,AutoCompleteTextView提示框选择一次提示后就不能再选择了,而MultiAutoCompleteTextView可以进行多次选择。
AutoCompleteTextView常用属性
android:completionHint 设置出现在下拉菜单中的提示标题android:completionThreshold 设置用户至少输入多少个字符才会显示提示
android:dropDownHorizontalOffset 下拉菜单于文本框之间的水平偏移。默认与文本框左对齐
android:dropDownHeight 下拉菜单的高度
android:dropDownWidth 下拉菜单的宽度
android:singleLine 单行 显示
android:dropDownVerticalOffset 垂直偏移量
AutoCompleteTextView的一些重要方法
clearListSelection():清除选中的列表项dismissDropDown():如果存在关闭下拉菜单
getAdapter():获取适配器
MultiAutoCompleteTextView的一些重要方法
enoughToFilter():当文本长度超过阈值时过滤(此方法并不是检验什么时候文本的总长度超过了预定的值,而是在仅当从函数findTokenStart()到getSelectionEnd()函数得到的文本长度为0或者超过了预定值的时候才起作用。)
performValidation():此子类方法并不是用来确定整个文本的有效性,而是用来确定文本中的单个符号的有效性。空标记将被移除。
setTokenizer(MultiAutoCompleteTextView.Tokenizer t):用户正在输入时,tokenizer设置将用于确定文本相关范围内
哎,这些重要方法和属性也是笔者网上查的,描述的真是让人醉了。。。。详见/article/4602589.html
相关文章推荐
- (转) Android Fragment完全解析,关于碎片你所需知道的一切
- 把android文件打成jar包
- 判断view是否可见
- Android实现计时与倒计时(限时抢购)的几种方法
- "android-studio undefined reference to `__android_log_print "错误解决方法
- Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
- Android Studio Mac 快捷键
- Android设计模式之一个例子让你彻底明白工厂模式(Factory Pattern)
- Android动画入门
- android assets
- Android通过代码模拟物理、屏幕点击事件
- Android 下拉刷新控件SwipeRefreshLayout
- 转战Android Studio 三
- android学习6——canvas的save,restore作用
- Android getTopActivity的方法
- [Android开发]LinearLayout与RelativeLayout异同深入探讨
- Android退出应用最优雅的方式
- Android Notification.setLatestEventInfo()警告
- android 适配
- Android编程实现Listview点击展开和隐藏的方法