Android UI组件学习——AutoCompleteTextView

Android UI组件学习

自动完成文本框(AutoCompleteTextView)的功能和用法

在这里插入图片描述

AutoCompleteTextView还派生了一个子类:MultiAutoCompleteTextView,该子类功能与AutoCompleteTextView类似,只是MultiAutoCompleteTextView允许输入多个提示项,用分隔符分隔

使用AutoCompleteTextViewMultiAutoCompleteTextView自动完成文本框

  • 程序清单\layout\main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <AutoCompleteTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/auto"
        android:completionHint="请选择您喜欢的图书"
        android:dropDownHorizontalOffset="10dp"
        android:completionThreshold="1"/>
    <MultiAutoCompleteTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/mauto"
        android:completionThreshold="1"/>
</LinearLayout>
  • MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

import androidx.annotation.Nullable;

public class MainActivity extends Activity {
    private AutoCompleteTextView autoCompleteTextView;
    private MultiAutoCompleteTextView multiAutoCompleteTextView;
    //定义字符串作为提示的文本
    String[] books = new String[]{"疯狂Java讲义", "疯狂Ajax讲义", "疯狂XML讲义", "疯狂WorkFlow讲义"};

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //创建一个ArrayAdapter封装数组
        ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, books);
        autoCompleteTextView = findViewById(R.id.auto);
        multiAutoCompleteTextView = findViewById(R.id.mauto);
        autoCompleteTextView.setAdapter(aa);
        multiAutoCompleteTextView.setAdapter(aa);
        //为MultiAutoCompleteTextView设置分隔符
        multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }
}

  • 效果展示
    在AutoCompleteTextView中输入文字
    在这里插入图片描述
    在MultiAutoCompleteTextView中输入文字
    在这里插入图片描述
    在MultiAutoCompleteTextView中继续输入
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AutocompleteTextView is a subclass of EditText view in Android that shows suggestions automatically while the user is typing. It is commonly used in search functionalities and other similar scenarios. To use AutocompleteTextView in Android Studio, you first need to add the AutoCompleteTextView to your layout XML file. Here's an example: ``` <AutoCompleteTextView android:id="@+id/autoCompleteTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter a city name" android:textColorHint="#999" android:completionThreshold="1" android:popupBackground="@color/white" android:dropDownVerticalOffset="10dp" android:elevation="2dp"/> ``` In the above example, `completionThreshold` attribute specifies the minimum number of characters required to trigger the suggestion popup. `popupBackground` attribute specifies the background color of the suggestion popup, and `dropDownVerticalOffset` attribute specifies the vertical offset of the suggestion popup. To provide suggestions to the AutocompleteTextView, you need to set an adapter that provides data to the suggestion popup. Here's an example: ``` AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView); String[] cities = {"New York", "Los Angeles", "Chicago", "Houston", "Philadelphia", "Phoenix", "San Antonio", "San Diego", "Dallas", "San Jose"}; ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, cities); autoCompleteTextView.setAdapter(adapter); ``` In the above example, we create an array of cities and provide it to the ArrayAdapter, which then sets the adapter to the AutocompleteTextView. Now, when the user types in the AutocompleteTextView, it will show suggestions based on the provided data.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值