Android AutoCompleteTextView是可编辑的文本视图,当用户开始键入文本时会显示建议列表。当用户开始键入内容时,将根据输入的字符(在阈值限制中定义)显示一个下拉菜单,用户可以从列表中选择一个项目来替换文本。
AutoCompleteTextView是EditText类的子类,因此我们可以根据需要轻松继承EditText的所有属性。
下拉列表将使用数据适配器获得,并且这些建议仅在输入阈值限制中定义的最小字符数后才会出现。阈值限制用于定义用户必须键入才能看到建议下拉列表的最少字符数。
在android中,我们可以通过两种方式在XML文件中手动创建AutoCompleteTextView控件,或者以编程方式在Activity文件中创建AutoCompleteTextView控件。
首先,我们按照以下步骤创建一个新项目:
- 单击文件,然后单击新建=>新建项目。
- 之后,包括Kotlin支持,然后单击下一步。
- 根据方便选择最小的SDK,然后单击下一步。
- 然后选择清空活动=>下一个=>完成。
AutoCompleteText小部件的不同属性–
XML Attributes | Description |
---|---|
android:id | Used to uniquely identify the control. |
android:gravity | Used to specify how to align the text like left, right, center, top, etc. |
android:text | Used to set the text. |
android:textSize | Used to set the size of the text. |
android:textStyle | Used to set the style of the text like bold, italic. |
android:background | Used to set background color of the Text View. |
android:hint | Used to set display hint text in the Text View. |
android:maxHeight | Used to set maximum height of the Text view. |
android:maxWidth | Used to set maximum width of the Text view. |
android:padding | Used to set the padding from left, right, top and bottom. |
在activity_main.xml中添加AutoCompleteTextView
在此文件中,我们将添加AutoCompleteTextView和Button小部件并设置其属性,以便可以在kotlin文件中对其进行访问。
修改字符串.xml文件以添加字符串数组
在这里,我们将指定活动的名称,并定义可在活动中不同位置使用的其他字符串。另一个重要的事情是,我们将定义string_array ,其中包含AutoCompleteTextView的建议列表的项目。
AutoCompleteTextViewInKotlin
Please type language...
Submit
Submitted language:
- Java
- Kotlin
- Swift
- Python
- Scala
- Perl
- Javascript
- Jquery
在MainActivity.kt文件中访问AutoCompleteTextView
首先,我们声明一个变量autotextview以从XML布局访问小部件。
val autotextView = findViewById(R.id.autoTextView)
然后,我们声明另一种可变语言,以从字符串.xml文件中获取字符串数组的项。
val languages = resources.getStringArray(R.array.Languages)
创建一个适配器,并使用添加到LinearLayout的AutoCompleteTextView中
val adapter = ArrayAdapter(this,
android.R.layout.simple_list_item_1, languages)
autotextView.setAdapter(adapter)
我们熟悉以前的文章中的其他活动,例如访问按钮和设置OnClickListener等。
package com.geeksforgeeks.myfirstkotlinapp
import android.os.Bundle import android.view.View import androidx.appcompat.app.AppCompatActivity import android.widget.ArrayAdapter import android.widget.AutoCompleteTextView import android.widget.Button import android.widget.Toast
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val autotextView
= findViewById(R.id.autoTextView)
// Get the array of languages
val languages
= resources.getStringArray(R.array.Languages)
// Create adapter and add in AutoCompleteTextView
val adapter
= ArrayAdapter(this,
android.R.layout.simple_list_item_1, languages)
autotextView.setAdapter(adapter)
val button
= findViewById
AndroidManifest.xml文件