Android练习-----自动完成文本框(AutoCompleteTextView)(搜索框)
来源:互联网 发布:gta5妹子捏脸数据 编辑:程序博客网 时间:2024/04/29 23:52
自动完成文本框控件 (AutoCompleteTextView) 用于实现输入一定的字符后,显示出一个以输入字符开头的下拉菜单供用户选择。当用户选择某项后,该控件中的字符为当前用户所选项
在屏幕中添加自动完成文本框,可以通过在 XML 布局文件中添加 < AutoCompleteTextView > 标记来实现,基本语法格式如下:
<AutoCompleteTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/autoComplete" />
AutoCompleteTextView 控件继承自 EditText 控件,因此它支持 EditText 控件所提供的属性,同时该控件支持的 XML 属性如下所示:
在Eclipse中创建一个 Android 项目,名称为 TestAutoCompleteTextView ,使用 AutoCompleteTextView 控件完成搜索时的自动匹配。
(1)在项目的 res/layout 目录下修改 activity_main.xml 文件,并添加一个自动完成文本框控件和一个普通按钮控件,代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <AutoCompleteTextView android:layout_width="235dp" android:layout_height="wrap_content" android:id="@+id/autoComplete" android:completionThreshold="2" android:layout_margin="5dp" android:completionHint="请输入您要搜索的内容" android:singleLine="true" android:dropDownWidth=""/> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="搜索" android:layout_margin="5dp" /></LinearLayout>
上述代码中,android:completionHint 用于为弹出的下拉菜单指定提示标题; android:completionThreshold 用于指定用户至少输入几个字符才会显示下拉菜单,这里设置的值是2,表示输入两个或以上字符时,就会显示提示的下拉菜单; android:singleLine 表示是否单行显示文本,这里的值为 true,表示单行显示文本
(2)在MainActivity.java文件中,定义一个字符串数组常量,用于保存要在下拉菜单中显示的列表内容。在获取到自动完成文本框控件后,为其添加适配器,在获取到搜索按钮后,为其添加监听器,代码如下:
import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.Button;import android.app.Activity;public class MainActivity extends Activity { private AutoCompleteTextView autoComplete = null; private Button button; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找到关心的控件 autoComplete = (AutoCompleteTextView) findViewById(R.id.autoComplete); button = (Button) findViewById(R.id.button); final String[] COUNTRIES = {"Afghanistan","Albania","Algeria","America","Samoa", "Andorra","Cayman Islands","Central African Republic","Chad","Chile","China"}; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, COUNTRIES); autoComplete.setAdapter(adapter); button.setOnClickListener(new buttonOnClickListener()); } class buttonOnClickListener implements OnClickListener{ public void onClick(View v) { Log.i("您要搜索的是:", autoComplete.getText().toString()); } }}
上述代码中,final String[] COUNTRIES 定义的字符串数组常量用于下拉菜单中显示的列表内容。创建ArrayAdapter 适配器用于保存下拉菜单中要显示的列表项,最后使用 setAdapter() 方法将该适配器与自动完成文本框相关联。在搜索按钮监听器中的 OnClick() 方法中,通过 Log.i() 方法将所选择的内容显示在日志控制台中。
运行该项目
在编辑框输入内容后
选中某一项后,单击搜索按钮,控制台显示显示如图所示
- Android练习-----自动完成文本框(AutoCompleteTextView)(搜索框)
- Android:自动完成文本框(AutoCompleteTextView、MultiAutoCompleteTextView )
- Android AutoCompleteTextView自动完成文本框
- 自动完成文本框(AutoCompleteTextView)提示文本框
- AutoCompleteTextView自动完成文本框
- 自动完成文本框AutoCompleteTextView
- 自动完成文本框AutoCompleteTextView
- Android学习笔记(六)AutoCompleteTextView自动完成文本框
- android 自动完成文本框AutoCompleteTextView 完整版
- 输入内容自动完成文本框(AutoCompleteTextView )
- 自动完成文本框AutoCompleteTextView(待解决)
- AutoCompleteTextView(自动完成文本框)详解
- Android 高级UI组件之自动完成文本框(AutoCompleteTextView)
- Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)
- Android自动完成文本框(AutoCompleteTextView)的功能和用法
- Android 控件之八:AutoCompleteTextView自动完成文本框
- Android -AutoCompleteTextView-简单又好用的自动完成文本框
- Android开发系列(二十):AutoCompleteTextView(自动完成文本框)的功能和用法
- C++虚函数、静态关联和动态关联
- Linux重定向及标准输入、输出、错误相关
- OC三大特性之封装
- 三圈问题的解决
- C#中AppDomain.CurrentDomain.BaseDirectory及各种路径获取方法
- Android练习-----自动完成文本框(AutoCompleteTextView)(搜索框)
- LeetCode---50. Pow(x, n)(指数运算x的n次方)
- CGI、FastCGI、PHP-CGI与PHP-FPM
- Hadoop0.20.2 完全分布式安装和配置
- 习题4-1 象棋 uva1589
- 你真的懂select模型吗?
- Java Spring MVC 入门- HelloWord+配置IntelliJ idea的Tomcat服务器
- Pycharm中设置断点调试DJango
- 同步令牌模式防范CSRF跨站请求伪造攻击