【实验目的】
掌握AutoCompleteTextView的工功能及其使用方法;
【实验原理】
1.AutoCompleteTextView(自动填充文本框)
AutoCompleteTextView用于实现允许用户输入一定的字符后,显示一个下拉菜单,供用户从中选择,当用户选择某个选项后,按用户选择自动填写文本框。如下图所示。
图1
AutoCompleteTextView控件一般也是通过Adapter获取数据。
2.AutoCompleteTextView(自动填充文本框)常用XML属性
3.AutoCompleteTextView(自动填充文本框)的一般实现流程
(1)在布局文件中,添加AutoCompleteTextView控件;
(2)准备选择的数据;
(3)建立Adapter;
(4)将AutoCompleteTextView控件对象关联到Adapter。
【实验内容】
【实验步骤】
1.创建新项目
先建立一个空项目,如HelloWorld项目,然后进行以下修改。
2.UI设计
修改主布局文件activity_main.xml,在其中添加AutoCompleteTextView控件、Button控件等,修改后的内容如下:
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入查询关键字"
android:textColor="#0000ff"/>
android:layout_height="wrap_content"
android:layout_width="match_parent"/>
3.编写代码
修改主Activity的类文件MainActivity.java,修改后的内容如下:
package com.example.administrator.myautocomplete;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private static final String[] autoInfo=new String[]{"Android手机","Android实例","Android项目","Java编程","Java实例","Python机器学习","Python编程"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayAdapter
final AutoCompleteTextView autoText=(AutoCompleteTextView)findViewById(R.id.autoText);
autoText.setAdapter(myAdapter);
Button btn=(Button)findViewById(R.id.bt);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String showText=autoText.getText().toString();
Toast.makeText(MainActivity.this,"你要搜索的是:"+showText,Toast.LENGTH_LONG).show();
}
});
}
}
程序说明:
(1)准备选择数据
将选择数据放在一个数组中。
private static final String[] autoInfo=new String[]{"Android手机","Android实例","Android项目","Java编程","Java实例","Python机器学习","Python编程"};
(2)建立Adapter
建立一个ArrayAdapter,并将其与数据关联。
ArrayAdapter
android.R.layout.simple_dropdown_item_1line,
autoInfo);
此处使用系统自带的布局。
(3)获取AutoCompleteTextView控件对象,并将之与Adapter关联
final AutoCompleteTextView autoText=(AutoCompleteTextView)findViewById(R.id.autoText);
autoText.setAdapter(myAdapter);
(4)给Button设置一个监听器,当填入选择的数据后,点出Button弹出消息。
Button btn=(Button)findViewById(R.id.bt);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String showText=autoText.getText().toString();
Toast.makeText(MainActivity.this,"你要搜索的是:"+showText,Toast.LENGTH_LONG).show();
}
});
4.效果验证
编译运行,点击图片列表的某一项,可得到效果如图1所示。