📅  最后修改于: 2021-01-05 05:08:16             🧑  作者: Mango
如果要获取建议,请在可编辑文本字段中键入内容时,可以通过AutoCompleteTextView进行操作。用户输入时,它会自动提供建议。建议列表显示在一个下拉菜单中,用户可以从中选择一个项目来替换编辑框的内容。
为了使用AutoCompleteTextView,您必须首先在xml中创建一个AutoCompletTextView字段。其语法如下。
之后,您必须在Java中获得此textview的引用。其语法如下。
private AutoCompleteTextView actv;
actv = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
接下来,您需要指定要显示的建议项列表。您可以将列表项指定为java或字符串.xml中的字符串数组。其语法如下。
String[] countries = getResources().getStringArray(R.array.list_of_countries);
ArrayAdapter adapter = new ArrayAdapter
(this,android.R.layout.simple_list_item_1,countries);
actv.setAdapter(adapter);
数组适配器类负责在文本字段的建议框中以列表形式显示数据。 setAdapter方法用于设置autoCompleteTextView的适配器。除这些方法外,下面列出了其他自动完成方法。
Sr.No | Method & description |
---|---|
1 |
getAdapter() This method returns a filterable list adapter used for auto completion |
2 |
getCompletionHint() This method returns optional hint text displayed at the bottom of the the matching list |
3 |
getDropDownAnchor() This method returns returns the id for the view that the auto-complete drop down list is anchored to. |
4 |
getListSelection() This method returns the position of the dropdown view selection, if there is one |
5 |
isPopupShowing() This method indicates whether the popup menu is showing |
6 |
setText(CharSequence text, boolean filter) This method sets text except that it can disable filtering |
7 |
showDropDown() This method displays the drop down on screen. |
下面的示例演示AutoCompleteTextView类的用法。它创建了一个基本应用程序,可让您键入内容并在设备上显示建议。
要试验此示例,您需要在实际设备或仿真器上运行它。
Steps | Description |
---|---|
1 | You will use Android Studio to create an Android application under a package package com.example.sairamkrishna.myapplication. |
2 | Modify src/MainActivity.java file to add AutoCompleteTextView code |
3 | Modify layout XML file res/layout/activity_main.xml add any GUI component if required. |
4 | Run the application and choose a running android device and install the application on it and verify the results. |
这是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表示有关tutorialspoint徽标的信息
这是Strings.xml的内容
My Application
这是AndroidManifest.xml的内容
让我们尝试运行您的应用程序。我假设您在进行环境设置时已连接了AVD。要从Android Studio运行该应用,请打开您项目的活动文件之一,然后点击运行工具栏中的图标。 Android studio将在您的AVD中安装此应用程序,并且您的AVD将显示以下屏幕。
现在,只需在文本视图中键入以查看语言的建议。正如我刚才输入一个字母这是一个,它显示了我的语言的建议。
multiAutoCompleteTextView不仅显示单词建议,还显示整个文本的建议。在写完第一个单词之后,当我开始写第二个单词时,它向我显示了建议。可以在下图中显示。