AS之AutoCompleteTextView

自动完成文本框
1.作用:当用户输入一定字符后,自动完成框会显示一个下拉菜单,用户选择后自动填写该文本框
XML属性

XML属性 作用
completionHint 设置出现在下拉菜单中的提示标题
completionThreshold 设置用户至少输入几个字符才会显示提示,默认为2
dropDrownHeight 设置下拉菜单的高度
dropDrownHorizationOffset 设置下拉菜单与文本之间的水平偏移,下拉菜单默认与文本框左对齐
dropDrownVerticalOffset 设置下拉菜单与文本之间的垂直偏移,下拉菜单默认紧跟文本框
dropDrownWidth 设置下拉菜单的宽度
popupBackGround 设置下拉菜单的北京
ems 设置输入字符的长度,超出部分不显示

常用方法

方法 作用
public void clearListSelection () 清楚所有的下拉列表项
public ListAdapter getAdapter() 取得数据源
public setAdapter(T adapter) 设置数据源
public void setonClickListener(View.OnClickListener Listener) 设置单击事件监听器
public void setOnItemClickListener (AdapterView.OnItemClickListener l) 设置选项单击事件监听器
public void setOnItemSelectedListener (AdapterView.OnItemSelectedListener l) 设置选项选中时的单击事件监听器

ArrayAdapter参数的理解

  1. 适配器的作用是数据和视图之间的桥梁

  2. 要显示一个数组,我们就用ArrayAdapter,数组适配器,数据的数据类型<>是String类型的,数据的数据类型还可以是其他的包括对象类。

  3. ArrayAdapter arrayAdapter = new ArrayAdapter( ArrayListDemo.this, android.R.layout.simple_list_item_1, adapterData);

    这段代码是创建一个数组适配器的代码,里面有三个参数,第一个参数是上下文,就是当前的Activity, 第二个参数是android sdk中自己内置的一个布局,它里面只有一个TextView,这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条数据都显示在这个view上面;第三个参数就是我们要显示的数据。listView会根据这三个参数,遍历adapterData里面的每一条数据,读出一条,显示到第二个参数对应的布局中,这样就形成了我们看到的listView.

实例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal"
    android:orientation="horizontal">
    <AutoCompleteTextView                        //创建AutoCompleteTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:id="@+id/searchAV"
        android:completionHint="请输入搜索内容"   //提示标题
        android:completionThreshold="1"         //提示最少字符
        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/searchBT"
        android:text="搜索"/>
</LinearLayout>

package com.example.a4_8;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private final  String[] DATA={"T天猫,T天津技术学院,T天天向上,T天津,T天津小吃,M美丽天津,"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final AutoCompleteTextView searchAV=(AutoCompleteTextView) findViewById(R.id.searchAV);
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,DATA);//定义数据源码
        searchAV.setAdapter(adapter);
        Button searchBT=(Button) findViewById(R.id.searchBT);
        searchBT.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this,searchAV.
                getText().toString(),Toast.LENGTH_SHORT).show();
            }
        });
    }
}

发布了18 篇原创文章 · 获赞 0 · 访问量 239

猜你喜欢

转载自blog.csdn.net/qq_44230959/article/details/105685986
今日推荐