首先,我们得明确一点,虽然我们要用到的控件名称为***TextView,但是它却是可编辑的,这里可一定不要掉入陷阱哦。

当我们填写文本框的时候,是不是很希望下面可以弹出来一个下拉框提示我们呢?如果你的答案为yes,那么你肯定很希望知道AutoCompleteTextView和MultiAutoCompleteTextView.两者都位于android:widget包下。实际上,两者功能很相似,MultiAutoCompleteTextView就是从AutoCompleteTextView继承而来的。

两者的区别很简单:

AutoCompleteTextView不支持连续提示

MultiAutoCompleteTextView支持连续提示

何谓连续提示呢?

例如我们打入了两个字,这时候会出来个下拉框提示,我们点击下拉框中的某项,然后文本框中存在内容了。这时候,我们再次继续输入东西的时候,AutoCompleteTextView则不会再次提示了,而MultiAutoCompleteTextView仍旧会提示,并且会将不同的内容之间以分隔符隔开(具体使用什么分隔符,我们可以通过tokenizer进行设置)

有图为证:

第一个为AutoCompleteTextView,第二个为MultiAutoCompleteTextView。

实现的代码如下:

activity代码:

package cn.com.chenzheng_java; import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; public class AutoComplateTextActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.autocomplatetextview); AutoCompleteTextView t = (AutoCompleteTextView)findViewById(R.id.autoText); String[] auto={"aaa","bcde","cderef","aagdgfdgf","aaffff"}; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, auto) ; t.setAdapter(adapter); MultiAutoCompleteTextView multiAutoCompleteTextView = (MultiAutoCompleteTextView)findViewById(R.id.autoText2); multiAutoCompleteTextView.setAdapter(adapter); multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); } }

布局文件代码:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="fill_parent"> <AutoCompleteTextView android:id="@+id/autoText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="hello kitty!" ></AutoCompleteTextView> <MultiAutoCompleteTextView android:id="@+id/autoText2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="hello kitty!" ></MultiAutoCompleteTextView> </LinearLayout>

--------------------------------------------------------------------------------

其他介绍:

completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。

  dropDownAnchor:它的值是一个View的ID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。

  dropDownSelector:应该是设置自动提示的背景色之类的,没有尝试过,有待进一步考证。

  dropDownWidth:设置自动提示列表的宽度。

更多相关文章

  1. 我在51CTO的第一篇博客--关于6个小时调试一个小类
  2. Android(安卓)Framework移植----长按返回键结束程序
  3. Android(安卓)productFlavors 差异化打包
  4. 为什么我们可以在非UI线程中更新UI
  5. 基于web的android图像处理示例(Win7+Apache+PHP+Matlab+Android)
  6. Android实现使用微信登录第三方APP的方法
  7. Android(安卓)Studio 单元测试入门
  8. 如何编写高效的Android代码
  9. Android(安卓)Async HTTP Clients: Volley vs Retrofit

随机推荐

  1. android 使用randerScript实现图片模糊效
  2. [置顶] android 内存泄露那些事情之Handl
  3. android用异步操作AsyncTask编写文件查看
  4. Android之 .9.png 篇
  5. 让你的 EditText 全部清除
  6. Android OAUTH
  7. android 搜索时关键字变色
  8. 在应用程序使用android google搜索功能
  9. 取android:versionCode
  10. Android Wear 进阶 2 Creating Wearable