您的位置:首页 > 移动开发 > Android开发

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

2015-08-30 11:38 573 查看
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”指的是自动匹配的数据源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: