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 可以与该下拉列表链接。