在Android中实现如同baidu\google的自动补全功能,用到AutoCompleteTextView和MultiAutoCompleteTextView组件。效果图:
代码:
1,res/values/string.xml
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="title_tx">内容自动补全提示:</string>
- <string name="app_name">自动提示(AutoComplete TextView)</string>
- <string name="about_80080088">更多详情,可登录http://www.80080088.com了解。</string>
- </resources>
2,res/layout/main.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/title_tx"
- android:id="@+id/title_tx"/>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/about_80080088"
- android:id="@+id/about_80080088">
- </TextView>
- <AutoCompleteTextView
- android:id="@+id/autoCompleteTextView1"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
- </AutoCompleteTextView>
- <MultiAutoCompleteTextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:id="@+id/multiAutoCompleteTextView1">
- </MultiAutoCompleteTextView>
- </LinearLayout>
3.Activity类
- package com.cottsoft.android;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.ArrayAdapter;
- import android.widget.AutoCompleteTextView;
- import android.widget.MultiAutoCompleteTextView;
- public class A009Activity extends Activity {
- private static final String[] autoString = new String[]{"ccpmp.net","vrixpzone.com","80080088.com","www.baidu.com","android","ophone","Windows","Lunix"};
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,autoString);
- AutoCompleteTextView m_AutoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
- m_AutoCompleteTextView.setAdapter(adapter);
- MultiAutoCompleteTextView m_MultiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1);
- m_MultiAutoCompleteTextView.setAdapter(adapter);
- m_MultiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
- }
- }