Android 自动补齐文本框AutoCompleteTextView的使用

简介: Android 自动补齐文本框AutoCompleteTextView的使用

首先是布局文件activity_auto_complete.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".AutoCompleteActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="爱好:"
            android:textSize="25sp" />
        <AutoCompleteTextView
            android:id="@+id/auto_tv1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:completionThreshold="1"
            android:hint="请输入您的爱好" />
    </LinearLayout>
    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="获取文本框中的值"
        android:textSize="20sp" />
</LinearLayout>

之后在res/values目录下创建array.xml资源文件

<resources>
    <string-array name="hobby">
        <item>读书</item>
        <item>跑步</item>
        <item>唱歌</item>
        <item>旅游</item>
        <item>写代码</item>
        <item>写字</item>
        <item>篮球</item>
        <item>乒乓球</item>
    </string-array>
</resources>

之后在AutoCompleteActivity文件中通过系统提供的数组适配器ArrayAdapter,显示数据。

public class AutoCompleteActivity extends AppCompatActivity {
    private AutoCompleteTextView auto_tv1;
    private ArrayAdapter arrayAdapter;
    private String[] data = new String[]{"读书", "跑步", "唱歌", "旅游", "写代码", "篮球", "乒乓球"};
    private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_auto_complete);
        auto_tv1 = findViewById(R.id.auto_tv1);
        btn = findViewById(R.id.btn);
//        arrayAdapter = new ArrayAdapter(this, R.layout.support_simple_spinner_dropdown_item,data );
        arrayAdapter = ArrayAdapter.createFromResource(this,R.array.hobby,R.layout.support_simple_spinner_dropdown_item);
        auto_tv1.setAdapter(arrayAdapter);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(AutoCompleteActivity.this, auto_tv1.getText().toString(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}

效果图显示:


目录
相关文章
|
7月前
|
XML 搜索推荐 Java
28. 【Android教程】自动补全文本框 AutoCompleteText
28. 【Android教程】自动补全文本框 AutoCompleteText
75 2
|
7月前
|
XML IDE 开发工具
13. 【Android教程】文本框 TextView
13. 【Android教程】文本框 TextView
128 2
|
XML Java Android开发
Android 中通过Java代码动态生成EditText视图,并循环遍历EditText取出遍历的ID和文本框的值
Android 中通过Java代码动态生成EditText视图,并循环遍历EditText取出遍历的ID和文本框的值
145 0
|
Android开发 Java 数据格式
Xamarin Android自定义文本框
xamarin android 自定义文本框简单的用法 关键点在于,监听EditText的内容变化,不同于java中文本内容变化去调用EditText.addTextChangedListener(mTextWatcher);为EditText设置内容变化监听! 简单来说就是添加一个AfterTextChanged 事件就OK了,这是最简单的一种做法,当然你要想java那样去监听也可以的。
1178 0
|
Android开发 iOS开发
Android点击EditText文本框之外任何地方隐藏键盘的解决办法
1,实现方法一:通过给当前界面布局文件的父layout设置点击事件(相当于给整个Activity设置点击事件),在事件里进行键盘隐藏   加上id和clickable=true   然后在onCreate里,添加onClick事件的监听: @Overri...
907 0
|
Android开发
android AutoCompleteTextView 自定义BaseAdapter
最近项目中需要做搜索功能,实现类似 Google、Baidu 搜索的 下拉提示效果。Android为我们提供了 AutoCompleteTextView 控件来完成此功能。 网上好多例子都是简单使用 ArrayAdapter 来实现的,界面比较简单,实际项目中用处不大;自己研究了一番,自定义Adapter 继承BaseAdapter 并实现Filterable 接口 实现了上述功能。
1240 0