安卓AutoCompleteTextView的简单使用(搜索时弹出可选择项)

一、实现效果

在这里插入图片描述

二、实现步骤

2.1 布局文件

<?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:background="#ffffff"
    android:orientation="vertical"
    tools:context="com.example.edm.Student.SingleSubjectActivity">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:background="#5DC45D">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="单科成绩及排名查询"
            android:textSize="20sp"
            android:paddingTop="20dp"
            android:paddingLeft="25dp"
            android:paddingBottom="10dp"
            android:textColor="#FFFFFF">
        </TextView>


        <AutoCompleteTextView
            android:id="@+id/auto_comp"
            android:layout_width="320dp"
            android:layout_height="39dp"
            android:textSize="16sp"
            android:textColor="#DE6210"
            android:paddingLeft="10dp"
            android:paddingRight="20dp"
            android:drawableRight="@mipmap/tab_query_normal"
            android:hint="输入科目名称:"
            android:background="@drawable/edittext_selector"
            android:maxLines="1"
            android:paddingBottom="2dp"
            android:paddingTop="2dp"
            android:layout_marginTop="7dp"
            android:layout_marginBottom="18dp"
            android:layout_marginLeft="21dp"
            android:completionThreshold="1">

        </AutoCompleteTextView>
    </LinearLayout>
</LinearLayout>

布局很简单,声明一个AutoCompleteTextView就好了。

2.2 弹出的item样式

item就是当我们输入时弹出的那个东东,长这样:

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    android:padding="10dp"
    android:textSize="16sp"
    android:textColor="#000000">
</TextView>

2.3 主界面代码

package com.example.edm.Student;

import android.animation.ValueAnimator;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import com.example.edm.MainActivity;
import com.example.edm.R;
import com.example.edm.SQLiteManager;
import com.example.edm.ToastUtil;


import java.util.List;

public class SingleSubjectActivity extends AppCompatActivity {

    private ArrayAdapter<String> adapter;
    private AutoCompleteTextView completeTextView;
    String course[] = {"离散数学B", "高等数学B1", "高等数学B2", "C语言课程设计", "Java语言程序设计"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_single_subject);
        findViews();
        initView();
        
    private void findViews() {
        completeTextView = findViewById(R.id.auto_comp);
        adapter = new ArrayAdapter<>(this, R.layout.auto_list, course);
        completeTextView.setAdapter(adapter);
    }
      
}

猜你喜欢

转载自blog.csdn.net/Cyril_KI/article/details/108478681