📜  Android |自动完成文本框以及如何创建它

📅  最后修改于: 2021-05-08 19:47:24             🧑  作者: Mango

先决条件:

  • 适用于初学者的Android应用程序开发基础
  • 安装和设置Android Studio指南
  • Android |从第一个应用程序/ android项目开始
  • Android |运行您的第一个Android应用

Android自动完成TextViews用于自动完成单词。每当用户编写一个字符, Auto Complete TextView就会显示用户可以选择的单词的建议。自动完成TextViews是EditText的子类。

例如:

自动完成TextView提供以下方法:

  1. setThreshold()方法以在第一个字符中开始建议单词。
  2. setAdapter()方法设置AutoCompleteTextView中的所有数据。
  3. setTextColor这用于具有黑色的文本。

如何创建一个Android应用程序以使用AutoComplete TextViews

此示例将有助于开发根据上述示例创建自动完成TextView的Android应用:

一些颜色存储在String数组中。现在单词显示在列表中,因此我们使用ArrayAdapter Class
ArrayAdapter类用于将颜色字符串数组的数据作为列表项保存,如下所示,然后在AutoCompleteTextView中设置上述所有方法。
例子:

以下是创建警报对话框Android应用程序的步骤:

  • 步骤1:首先创建一个新的Android应用程序。这将创建一个XML文件“ activity_main.xml”和一个Java文件“ MainActivity”。 Java”。请参考先决条件以了解有关此步骤的更多信息。

  • 步骤2:打开“ activity_main.xml”文件,并在“相对布局”中添加以下小部件:
    • 一个TextView显示消息
    • 一个AutoCompleteTextView可以在“自动完成建议”的帮助下获得用户答案。

    另外,将ID与其他属性一起分配给每个组件,如下图和下面的代码所示。在组件上分配的ID有助于该组件在Java文件中轻松找到和使用。

    句法:

    android:id="@+id/id_name"

    此处给出的ID如下:

    • AutoCompleteTextView:android:id =” @ + id / autocompleteTextView”

    这将创建应用程序的UI。

  • 步骤3:现在,在用户界面之后,此步骤将创建应用程序的后端。为此,打开“ MainActivity。 Java文件”,并使用findViewById()方法实例化XML文件(AutoCompleteTextView)中制成的组件。此方法借助分配的ID将创建的对象绑定到UI组件。

    通用语法:

    所用组件的语法:

  • 步骤4:此步骤涉及在AutoCompleteTextView上设置操作。这些操作如下:
    1. 创建字符串数组,并存储将在建议中显示的颜色值。
    2. 使用String创建ArrayAdapter的对象,该对象将数据保存为列表项。

      ArrayAdapter类用于将颜色字符串数组的数据作为一个列表项保存,如下所示,然后在AutoCompleteTextView中设置上述所有方法。

    3. 将阈值设置为1,该阈值将告诉您要提出建议的字母数。此处设置为1个字符。
    4. 为作为列表传递的数据设置适配器。
  • 步骤5:现在运行该应用程序,并按以下方式操作:
    • 打开应用程序后,它将显示一条消息,要求输入颜色名称,并在其下方显示一个文本框,以获取用户响应。
    • 键入字符,将显示以输入的文本开头的建议,用户可以从中选择。

MainActivity的完整代码。下面是AutoCompleteTextView的Java或activity_main.xml。

activity_main.xml


  
    
  
    
  


MainActivity.java
package org.geeksforgeeks.navedmalik.autocompletetextview;
  
import android.arch.lifecycle.AndroidViewModel;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
  
public class MainActivity extends AppCompatActivity {
  
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // By ID get the AutoCompleteTextView
        // which id is assign in xml file
        AutoCompleteTextView
            autoCompleteTextView
            = (AutoCompleteTextView)
                findViewById(
                    R.id.autocompleteTextView);
  
        // Create the string array
        // and store the values.
        String[] colors
            = { "Red", "Green", "Black",
                "Orange", "Blue", "Pink",
                "Blush", "Brown", "Yellow" };
  
        // Create the object of ArrayAdapter with String
        // which hold the data as the list item.
        ArrayAdapter adapter
            = new ArrayAdapter(
                this,
                android.R.layout.select_dialog_item,
                colors);
  
        // Give the suggestion after 1 words.
        autoCompleteTextView.setThreshold(1);
  
        // Set the adapter for data as a list
        autoCompleteTextView.setAdapter(adapter);
        autoCompleteTextView.setTextColor(Color.BLACK);
    }
}


输出: