Android控件筆記——實現動態自動匹配輸入的內容

一、AutoCompleteTextViewandroid

    功能:動態匹配輸入的內容,如百度引擎當輸入文本時,能夠根據內容顯示匹配的熱門信息;ide

    獨特屬性:android:completionThreshoile="2"-----設置多少字的時候自動匹配;this

    實現:拖入AutoCompleteTextView控件code

<!--activity_main.xml-->
    <AutoCompleteTextView
        android:completionThreshold="3"
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="請輸入你須要搜索的關鍵值" >
//=========================================================================
public class MainActivity extends Activity {
	/*
     * 一、初始化控件
     * 二、須要一個適配器
     * 三、初始化數據源---這數據源去匹配文本框輸入的內容
     * 四、將adpter與當前AutoCompleteTextView綁定
     */
	private AutoCompleteTextView acTextView;
	private String[] res={"beijing1","beijing2","beijing3","shanghai1",
         "shanghai2"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        acTextView=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,
        		android.R.layout.simple_list_item_1,res);
        acTextView.setAdapter(adapter);
    }    
}

二、MultiAutoCompleteTextViewxml

    功能:支持選擇多個值(在屢次輸入的狀況下),分別用分隔符分開,而且在每一個值選中的時候再次輸入值時會自動去匹配,可用在發短信,發郵件時選擇聯繫人這種類型當中。例如QQ的收件人文本框。it

    獨特屬性:android:completionThreshoile="2"-----設置多少字的時候自動匹配;io

    設置分隔符:mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());class

    實現:MultiAutoCompleteTextView百度

<!--activity_main.xml-->
    <MultiAutoCompleteTextView
        android:id="@+id/multiAutoCompleteTextView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
		android:hint="請輸入你的收件人" />
//=========================================================================
public class MainActivity extends Activity {
	/*
     * 一、初始化控件
     * 二、須要一個適配器
     * 三、初始化數據源---這數據源去匹配文本框輸入的內容
     * 四、將adpter與當前AutoCompleteTextView綁定
     * 五、設置分隔符
     */
    private MultiAutoCompleteTextView macTextView;
	private String[] res={"beijing1","beijing2","beijing3","shanghai1","shanghai2"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        macTextView=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1);
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,
        		android.R.layout.simple_list_item_1,res);
        macTextView.setAdapter(adapter);
        //設置以逗號爲分隔符爲結束符
        macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }    
}

相關文章
相關標籤/搜索