如果您想获得建议,当您输入可编辑的文本字段时,可以通过AutoCompleteTextView执行此操作.它在用户输入时自动提供建议.建议列表显示在下拉菜单中,用户可以从中选择一个项目来替换编辑框的内容.
要使用AutoCompleteTextView,您必须先创建xml中的AutoCompletTextView字段.它的语法如下所示.
之后,你必须在java中获得这个textview的引用.其语法如下所示.
private AutoCompleteTextView actv;actv = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
您需要做的下一件事是指定要显示的建议项列表.您可以在java或strings.xml中将列表项指定为字符串数组.其语法如下所示.
String[] countries = getResources().getStringArray(R.array.list_of_countries);ArrayAdapteradapter = new ArrayAdapter (this,android.R.layout.simple_list_item_1,countries);actv.setAdapter(adapter);
数组适配器类负责在文本字段的建议框中将数据显示为列表. setAdapter 方法用于设置autoCompleteTextView的适配器.除了这些方法之外,下面列出了自动完成的其他方法.
Sr.No | Method& description |
---|---|
1 | getAdapter() 此方法返回用于自动完成的可过滤列表适配器 |
2 | getCompletionHint() 此方法返回显示在匹配列表底部的可选提示文本 |
3 | getDropDownAnchor() 此方法返回返回自动完成下拉列表锚定到的视图的ID./p> |
4 | getListSelection() 此方法返回下拉视图选择的位置(如果有)/p> |
5 | isPopupShowing() 此方法指示弹出菜单是否显示 |
6 | setText(CharSequence text,boolean filter) 此方法设置文本,但它可以禁用过滤 |
7 | showDropDown() 此方法在屏幕上显示下拉列表. |
示例
下面的示例演示了如何使用AutoCompleteTextView类.它包含一个基本应用程序,允许您输入并在设备上显示建议.
要试验此示例,您需要在实际设备或模拟器中运行它.
步骤 | 描述 |
---|---|
1 | 您将使用Android Studio在软件包com.example.sairamkrishna.myapplication下创建Android应用程序. |
2 | 修改src/MainActivity.java文件以添加AutoCompleteTextView代码 |
3 | 修改布局XML文件res/layout/activity_main.xml add任何GUI组件,如果需要. |
4 | 运行应用程序并选择正在运行的Android设备并在其上安装应用程序并验证结果. |
以下是 src/MainActivity的内容. java
package com.example.sairamkrishna.myapplication;import android.app.Activity;import android.content.Context;import android.media.AudioManager;import android.media.MediaPlayer;import android.media.MediaRecorder;import android.os.Bundle;import android.os.Environment;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.MultiAutoCompleteTextView;import android.widget.Toast;import java.io.IOException;public class MainActivity extends Activity { AutoCompleteTextView text; MultiAutoCompleteTextView text1; String[] languages={"Android ","java","IOS","SQL","JDBC","Web services"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1); text1=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1); ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,languages); text.setAdapter(adapter); text.setThreshold(1); text1.setAdapter(adapter); text1.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); }}
以下是 activity_main.xml 的内容
这里abc表示it1352的标识
以下是 Strings.xml的内容
My Application
以下是 AndroidManifest.xml的内容
让我们尝试运行您的应用程序.我假设您在进行环境设置时已连接AVD.要从Android Studio运行应用程序,请打开项目的一个活动文件,然后单击运行 icon从工具栏中. Android工作室将在您的AVD中安装此应用程序,您的AVD将显示以下屏幕.
现在只需输入文本视图即可查看语言的建议.因为我只输入一个字母 a ,它显示了我的语言建议.
multiAutoCompleteTextView不仅可以显示单词,还可以显示整个文本的建议.在写完第一个单词后,当我开始写第二个单词时,它会向我显示建议.这可以在下面的图片中显示.