zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android开发(30)--AutoCompleteTextView和MultiAutoCompleteTextView自动提示输入内容

Android输入自动开发 -- 内容 提示 30
2023-09-27 14:23:53 时间

首先大家都见过类似这种效果,

 

AutoCompleteTextView是实现动态匹配输入的内容

下面就通过一个实例来说明AutoCompleteTextView,同样,AutoCompleteTextView也需要一个适配器提供数据,当输入文字时,下面的提示就是一个列表,运行效果如图

附源码:

布局文件:

<AutoCompleteTextView
        android:id="@+id/auto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="20dp"
        android:ems="10" >

        <requestFocus />
    </AutoCompleteTextView>


 

<MultiAutoCompleteTextView
        android:id="@+id/multiAuto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignRight="@+id/auto"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="19dp"
        android:ems="10" />

 

实现类:

package com.example.autocomplete;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class MainActivity extends Activity {
	private AutoCompleteTextView auto;
	private MultiAutoCompleteTextView mulAuto;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		auto=(AutoCompleteTextView) findViewById(R.id.auto);
		mulAuto= (MultiAutoCompleteTextView) findViewById(R.id.multiAuto);
		String[] autoStrings = new String[] { "百度", "百度影音", "百度地图","百度文库",
				"java", "javaweb","javascript" };
		// 第二个参数表示适配器的下拉风格
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,
				android.R.layout.simple_dropdown_item_1line, autoStrings);
		auto.setAdapter(adapter);
		mulAuto.setAdapter(adapter);
		// 完成对选项的拆分的功能,以逗号进行拆分
		mulAuto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

如果实现历史记录提示,参见点击打开链接