📜  Android-自动完成

📅  最后修改于: 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运行该应用,请打开您项目的活动文件之一,然后点击运行Eclipse运行图标工具栏中的图标。 Android studio将在您的AVD中安装此应用程序,并且您的AVD将显示以下屏幕。

Anroid捕捉教程

现在,只需在文本视图中键入以查看语言的建议。正如我刚才输入一个字母这是一个,它显示了我的语言的建议。

Anroid捕捉教程

multiAutoCompleteTextView不仅显示单词建议,还显示整个文本的建议。在写完第一个单词之后,当我开始写第二个单词时,它向我显示了建议。可以在下图中显示。

Anroid捕捉教程