从零开始学Android之 AutoCompleteView 动态匹配输入的内容(像搜索引擎上的匹配)

本文介绍了如何在Android中使用AutoCompleteView来实现类似搜索引擎的动态内容匹配功能。通过设置`android:completionThreshold`属性,当输入指定字符数时开始匹配。文章详细讲解了XML布局中添加AutoCompleteTextView,初始化控件,创建适配器如ArrayAdapter,填充数据源以及将适配器绑定到AutoCompleteTextView的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.AutoCompleteTextView属性:
  1>动态匹配输入的内容

  2>android:completionThreshold="n" -- 输入n个字符开始匹配

 在activity_main.xml中加入AutoCompleteTextView

  代码如下:

 

<span style="font-family:KaiTi_GB2312;"><AutoCompleteTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:completionThreshold="3"-- 输入n个字符开始匹配
        android:hint="请输入你要搜素的关键字"
        android:id="@+id/autoCompleteTextView"
        android:layout_below="@+id/textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        /></span>



2.在ManiActivity.class中具体实现

第一步:初始化控件
第二步:需要一个适配器,作用是适配当前文本框输入的内容。
利用简单的适配器ArrayAdapter
第三步:初始化数据源===去匹配文本框中输入的内容。
eg:private string[]={ , , };
利用泛型
ArrayAdapter<String> adapter = new ArrayAdapter<String>( , , );
第四步:将Adapter与当前AutoCompleteTextView匹配。
acTextView.steAdapter(adapter);


具体代码如下:

<span style="font-family:KaiTi_GB2312;">package com.example.administrator.paoma;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;


public class MainActivity extends ActionBarActivity {
    String[] guan = new String[]{"beijing1","beijing2","bejing",
            "shanghai1","shanghai2","shnghai3"};
    private AutoCompleteTextView atCo;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        /*
         *
         */
        atCo = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
        ArrayAdapter<String> adapter =  new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1,guan);
        atCo.setAdapter(adapter);
    }



}</span>



解释一下:
<span style="font-family:KaiTi_GB2312;"> ArrayAdapter<String> adapter =  new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1,guan);</span>
<span style="font-family:KaiTi_GB2312;">中 “this”是指当前,</span><pre name="code" class="java"><span style="font-family: KaiTi_GB2312;">“android.R.layout.simple_list_item_1”指的是<span style="font-family: KaiTi_GB2312;font-size:18px;"> 在activity_main.xml中的</span><span style="font-family: KaiTi_GB2312;font-size:18px;">AutoCompleteTextView</span></span>
 “guan”指的是自动匹配的数据源。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值