android学习---AutoCompleteTextView

来源:互联网 发布:linux squid 启动 编辑:程序博客网 时间:2024/04/30 17:06

        从API结构图可见,自动完成文本框(AutoCompleteTextView)是从EditText派生出来的。它也是一个文本编辑框,由字面上理解都可知道,自动完成文本框的主要功能是:当用户输入一定的字符之后,自动完成文本框会显示一个下拉菜单,供用户从中选择(ps:这个功能不错,用户体验很好)

首先看看这自动完成文本框自己特有的xml属性:


 

  下面来通过小案例来学习一下AutoCompleteTextView

(1)编写布局文件    activity_main.xml

<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="horizontal">        <AutoCompleteTextView         android:id="@+id/auto"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:completionHint="输入你喜欢的书籍"        android:completionThreshold="1"        android:dropDownWidth="300dp"        android:dropDownHorizontalOffset="12dp"/>    </LinearLayout>

(2)  编写MainActivity.java

package com.example.autocompletetextview;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;public class MainActivity extends Activity {private AutoCompleteTextView  autoText = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);autoText = (AutoCompleteTextView) findViewById(R.id.auto);//获取组件/*====================  方式一   数组方式 =========================*/  /*   * //设置匹配的提示内容数组String[] texts = new String[]{"JAVA编程宝典","JAVA实战","疯狂java","疯狂android","JQUERY权威指南"};//设置适配器    参数一:上下文      参数二:样式         参数三:匹配内容数组ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this, android.R.layout.select_dialog_singlechoice, texts);//关联适配器autoText.setAdapter(adapter);*//*====================   方式二    list集合方式 =========================*/List<CharSequence> list = new ArrayList<CharSequence>();list.add("JAVA编程宝典");list.add("JAVA实战");list.add("疯狂java");list.add("疯狂android");list.add("JQUERY权威指南");//设置适配器    参数一:上下文      参数二:样式         参数三:匹配内容listArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this,android.R.layout.select_dialog_singlechoice, list);//关联适配器autoText.setAdapter(adapter);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


  ps:看到代码中ArrayAdapter适配器是否似曾相识,没错,这里的适配器与上一节的Spinner的一样。其实AutoCompleteTextView与Spinner相同之处就是:大家都是弹出一个列表框给用户选择。所以我们平时学习时候要对比学习,这样学起来比较轻松,可能达到事半功倍的效果


好了,到了这里,一个AutoCompleteTextView的案例就完成了,挺简单的大笑 。  看看效果吧:



0 0
原创粉丝点击