大家如果是要跟着我文章来实践的话,还是从头看到尾,依据已经给出的截图及实现过程先自行完成,源码贴在最后,各有各的写法,只要能实现都是了不起的。加油吧,一起努力!

实例

题目

自动完成文本控件AutoCompleteTextView的使用。

程序结果展示界面

在这里插入图片描述

涉及到的知识点

AutoCompleteTextView

自动完成文本控件AutoCompleteTextView用于实现文本的快速输入,其原理是事先将用于输入的文本存放在一个字符数组里,根据输入字符前方一致进行匹配(匹配字符个数由控件属性completionThreshold进行设置)

实现过程

  1. 新建名为AutoCompleteTextView的应用工程
  2. 修改默认布局文件activity_main.xml,添加一个自动完成文本控件AutoCompleteTextView,并设置自动搜索时匹配字符个数属性为“1”,即android:completionThreshold="1"
  3. 编写程序MainActivity.java

源码

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
              android:text="AutoCompleteTextView演示"/>
    <AutoCompleteTextView android:layout_width="match_parent" android:layout_height="wrap_content"
                          android:id="@+id/auto"
                          android:hint="请输入国家名称(English)"
                          android:completionThreshold="1"
    />
</LinearLayout>

MainActivity.java

package com.example.application;
/*
*将一组国家名称存放在一个字符数组里
* 使用AutoCompleteTextView控件,根据前方一致自动匹配,实现快速输入
* 忽略字母大小写
*/

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    private AutoCompleteTextView autoTV;
    private static final String[] autoText = {"China","Canada","India","Italy","Iran","Iraq"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        autoTV = (AutoCompleteTextView) this.findViewById(R.id.auto);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,autoText);
        autoTV.setAdapter(adapter);
    }

}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐