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

Android练习之AutoCompleteTextView、MultiAutoCompleteTextView

2012-12-11 15:41 417 查看
code

View Code

package com.example.flexd4;

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

/**
* android提供了自动提示功能的textview,按照自带的文档和api demo可以写几行代码就可以实现此功能。
* 但默认的thresh为2,所以默认情况下你必须输入两个或者两个以上的字符,才会有自动提示功能,
* 否则AutoCompleteTextView是不会有任何提示的。
* 当然你可以通过setThresh来设置至少输入几个字符后才会有提示,也可以在xml里设置。
*  AutoCompleteTextView会把你所有的字符串当做子串去做匹配,
*  而MultiAutoCompleteTextView会根据你提供tokenizer来分解你已经输入的字符串,
*  并对符合条件的最后几个字符当做子串去做自动提示。
*
*/
public class MainActivity extends Activity {

private AutoCompleteTextView actv1;
private MultiAutoCompleteTextView mactv1;
private static final String[] autoStr = new String[]{"a","ab","abc","abcd"};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//AutoCompleteTextView
actv1 = (AutoCompleteTextView)findViewById(R.id.actv1);
//Adapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, autoStr);
//Set
actv1.setAdapter(adapter);
actv1.setThreshold(1);

//MultiAutoCompleteTextView
mactv1 = (MultiAutoCompleteTextView)findViewById(R.id.mactv1);
mactv1.setAdapter(adapter);
mactv1.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.activity_main, menu);
return true;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐