code

View Code
 1 package com.example.flexd4;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.view.Menu;
 6 import android.widget.ArrayAdapter;
 7 import android.widget.AutoCompleteTextView;
 8 import android.widget.MultiAutoCompleteTextView;
 9 
10 /**
11  * android提供了自动提示功能的textview,按照自带的文档和api demo可以写几行代码就可以实现此功能。
12  * 但默认的thresh为2,所以默认情况下你必须输入两个或者两个以上的字符,才会有自动提示功能,
13  * 否则AutoCompleteTextView是不会有任何提示的。
14  * 当然你可以通过setThresh来设置至少输入几个字符后才会有提示,也可以在xml里设置。
15  *  AutoCompleteTextView会把你所有的字符串当做子串去做匹配, 
16  *  而MultiAutoCompleteTextView会根据你提供tokenizer来分解你已经输入的字符串,
17  *  并对符合条件的最后几个字符当做子串去做自动提示。  
18  *
19  */
20 public class MainActivity extends Activity {
21     
22     private AutoCompleteTextView actv1;
23     private MultiAutoCompleteTextView mactv1;
24     private static final String[] autoStr = new String[]{"a","ab","abc","abcd"};
25 
26     @Override
27     protected void onCreate(Bundle savedInstanceState) {
28         super.onCreate(savedInstanceState);
29         setContentView(R.layout.activity_main);
30         
31         //AutoCompleteTextView
32         actv1 = (AutoCompleteTextView)findViewById(R.id.actv1);
33         //Adapter
34         ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, autoStr);
35         //Set
36         actv1.setAdapter(adapter);
37         actv1.setThreshold(1);
38         
39         //MultiAutoCompleteTextView
40         mactv1 = (MultiAutoCompleteTextView)findViewById(R.id.mactv1);
41         mactv1.setAdapter(adapter);
42         mactv1.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
43         
44     }
45 
46     @Override
47     public boolean onCreateOptionsMenu(Menu menu) {
48         // Inflate the menu; this adds items to the action bar if it is present.
49         getMenuInflater().inflate(R.menu.activity_main, menu);
50         return true;
51     }
52 
53 }

 

posted on 2012-12-11 15:41  hanxun  阅读(151)  评论(0编辑  收藏  举报