分享

Android开发(30)

 天海544 2014-08-19

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

 

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

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

附源码:

布局文件:

  1. <AutoCompleteTextView  
  2.         android:id="@+id/auto"  
  3.         android:layout_width="wrap_content"  
  4.         android:layout_height="wrap_content"  
  5.         android:layout_alignParentLeft="true"  
  6.         android:layout_alignParentRight="true"  
  7.         android:layout_below="@+id/textView1"  
  8.         android:layout_marginTop="20dp"  
  9.         android:ems="10" >  
  10.   
  11.         <requestFocus />  
  12.     </AutoCompleteTextView>  


 

  1. <MultiAutoCompleteTextView  
  2.         android:id="@+id/multiAuto"  
  3.         android:layout_width="wrap_content"  
  4.         android:layout_height="wrap_content"  
  5.         android:layout_alignParentLeft="true"  
  6.         android:layout_alignRight="@+id/auto"  
  7.         android:layout_below="@+id/textView2"  
  8.         android:layout_marginTop="19dp"  
  9.         android:ems="10" />  

 

实现类:

  1. package com.example.autocomplete;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.Menu;  
  6. import android.widget.ArrayAdapter;  
  7. import android.widget.AutoCompleteTextView;  
  8. import android.widget.MultiAutoCompleteTextView;  
  9.   
  10. public class MainActivity extends Activity {  
  11.     private AutoCompleteTextView auto;  
  12.     private MultiAutoCompleteTextView mulAuto;  
  13.     @Override  
  14.     protected void onCreate(Bundle savedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.activity_main);  
  17.         auto=(AutoCompleteTextView) findViewById(R.id.auto);  
  18.         mulAuto= (MultiAutoCompleteTextView) findViewById(R.id.multiAuto);  
  19.         String[] autoStrings = new String[] { "百度", "百度影音", "百度地图","百度文库",  
  20.                 "java", "javaweb","javascript" };  
  21.         // 第二个参数表示适配器的下拉风格  
  22.         ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,  
  23.                 android.R.layout.simple_dropdown_item_1line, autoStrings);  
  24.         auto.setAdapter(adapter);  
  25.         mulAuto.setAdapter(adapter);  
  26.         // 完成对选项的拆分的功能,以逗号进行拆分  
  27.         mulAuto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());  
  28.     }  
  29.   
  30.     @Override  
  31.     public boolean onCreateOptionsMenu(Menu menu) {  
  32.         // Inflate the menu; this adds items to the action bar if it is present.  
  33.         getMenuInflater().inflate(R.menu.main, menu);  
  34.         return true;  
  35.     }  
  36.   
  37. }  

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多