📜  Android中的AutoCompleteTextView

📅  最后修改于: 2022-05-13 01:55:03.896000             🧑  作者: Mango

Android中的AutoCompleteTextView

AutoCompleteTextView 是 android 中的一种编辑文本,如果用户在 AutoCompleteTextView 中键入内容,它会向用户提供建议。我们在某些网站上注册时可以看到这种类型的编辑文本。如果我们输入“In”,它将建议印度、印度尼西亚、西印度群岛……等等。像这样,AutoCompleteTextView 可以工作。让我们看看 AutoCompleteTextView 在 XML 和Java中的实现。这里 XML 用于创建布局, Java代码用于实现 AutoCompleteTextView 的主要函数。

分步实施

第 1 步:创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。请注意,选择Java作为编程语言。

第 2 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。此 xml 代码在 Linearlayout 下创建一个带有 TextView 和 AutoCompleteTextView 的活动

XML


  
    
    
    
  


Java
package com.example.myapplication;
  
import androidx.appcompat.app.AppCompatActivity;
  
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
  
public class MainActivity extends Activity {
    
    String[] countries={"India","Australia","West indies","indonesia","Indiana",
                        "South Africa","England","Bangladesh","Srilanka","singapore"};
  
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,countries);
        AutoCompleteTextView textView=(AutoCompleteTextView)findViewById(R.id.txtcountries);
        textView.setThreshold(3);
        textView.setAdapter(adapter);
    }
}


第 3 步:使用MainActivity。Java

转到MainActivity。 Java文件并参考以下代码。下面是MainActivity 的代码。 Java文件。代码中添加了注释以更详细地理解代码。

Java

package com.example.myapplication;
  
import androidx.appcompat.app.AppCompatActivity;
  
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
  
public class MainActivity extends Activity {
    
    String[] countries={"India","Australia","West indies","indonesia","Indiana",
                        "South Africa","England","Bangladesh","Srilanka","singapore"};
  
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,countries);
        AutoCompleteTextView textView=(AutoCompleteTextView)findViewById(R.id.txtcountries);
        textView.setThreshold(3);
        textView.setAdapter(adapter);
    }
}

输出:

输出

解释:

  • 在输出中我们可以看到,当我们输入“ind”时,它给出了一些建议。他们是印度、印度尼西亚、印第安纳州、西印度群岛。
  • 在Java代码中我们可以自定义国家名称。
  • 基本上我们创建一个包含 AutoCompleteTextView 列表项的字符串数组。
  • 在Java中,我们首先创建了一个主类,在主类中我们刚刚创建了一个名为 countries 的字符串数组,其中包含国家名称。
  • 然后使用 onCreate() 方法我们创建了一个活动。
  • 然后我们创建了一个 ArrayAdapter 用于在下拉列表中排列国家。
  • 然后我们使用 findViewById 调用了 AutoCompleteTextView 的 id,即 txtcountries。
  • 之后我们编写了 textview.setThreshold(4) 。这意味着 4 个项目将显示在下拉列表或建议中。
  • 在示例中,我们可以看到显示了 4 条建议。
  • 最后,我们设置 AutoCompleteTextView 对象,即带有 setAdapter() 和 ArrayAdapter 变量的 textview。
  • textview.setAdapter(适配器)。因此 AutoCompleteTextView 可以与该下拉列表链接。