android学习---AutoCompleteTextView

        从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;

	@Override
	protected 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权威指南");
		//设置适配器    参数一:上下文      参数二:样式         参数三:匹配内容list
		ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this,android.R.layout.select_dialog_singlechoice, list);
		//关联适配器
		autoText.setAdapter(adapter);
		
	}

	@Override
	public 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的案例就完成了,挺简单的大笑 。  看看效果吧:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值