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

来源:互联网 发布:法规的软件 编辑:程序博客网 时间:2024/06/13 17:05
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”指的是自动匹配的数据源。

 

1 0
原创粉丝点击