zoukankan      html  css  js  c++  java
  • AutoCompleteTextView

    AutoCompleteTextView的使用

     
     

    AutoCompleteTextView是实现动态匹配输入的内容。如google搜索引擎当输入文本时可以根据内容显示匹配的热门信息。

    layout部分:

     <TextView android:layout_width="wrap_content"
      android:layout_height="wrap_content" android:text="Country" />

     <AutoCompleteTextView android:id="@+id/edit"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" />

    代码部分:

     static final String[] COUNTRIES = new String[] {  //这里用一个字符串数组来当数据匹配源
         "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
         "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
         "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
         "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
         "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
         "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
         "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
         "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde",
         "Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
         "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
         "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic",
         "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic",
         "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea",
         "Estonia", "Ethiopia", "Faeroe Islands", "Falkland Islands", "Fiji", "Finland",
         "Former Yugoslav Republic of Macedonia", "France", "French Guiana", "French Polynesia",
         "French Southern Territories", "Gabon", "Georgia", "Germany", "Ghana", "Gibraltar",
         "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau",
         "Guyana", "Haiti", "Heard Island and McDonald Islands", "Honduras", "Hong Kong", "Hungary",
         "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica",
         "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos",
         "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg",
         "Macau", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands",
         "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova",
         "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia",
         "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand",
         "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Marianas",
         "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru",
         "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar",
         "Reunion", "Romania", "Russia", "Rwanda", "Sqo Tome and Principe", "Saint Helena",
         "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon",
         "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal",
         "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands",
         "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Korea",
         "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden",
         "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas",
         "The Gambia", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey",
         "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Virgin Islands", "Uganda",
         "Ukraine", "United Arab Emirates", "United Kingdom",
         "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan",
         "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara",
         "Yemen", "Yugoslavia", "Zambia", "Zimbabwe"
       };
       
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
           
            AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.edit);//定义AutoCompleteTextView控件
            ArrayAdapter adapter = new ArrayAdapter(this, //定义匹配源的adapter
                    android.R.layout.simple_dropdown_item_1line, COUNTRIES);
            textView.setAdapter(adapter);     //设置 匹配源的adapter 到 AutoCompleteTextView控件

        }

    好了,运行看结果 输入ch 会自动去adapter中找出匹配的项显示:

    虽然AutoCompleteTextView不是Android的常用控件,但是它的实用性还是很强的,具体的使用可以参考ApiDemos,对于基本的用法,它有很详细的说明。但是这些例子远远无法满足我们的需求,下面讲一下几个例子中没有涉及到的属性。

             completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。

            dropDownAnchor:它的值是一个View的ID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。

            dropDownSelector:应该是设置自动提示的背景色之类的,没有尝试过,有待进一步考证。

            dropDownWidth:设置自动提示列表的宽度。

  • 相关阅读:
    url分发(二级分发)
    图片的渲染
    自定义admin(self_admin)
    类的方法
    orm分组,聚合查询,执行原生sql语句
    jQuery 插件 jQuery UI的使用
    Spring security 在项目中的使用第二篇之代码实现阶段
    Hibernate 学习笔记第一篇
    Hibernate 学习笔记第三篇
    MySQL 常用命令
  • 原文地址:https://www.cnblogs.com/tfy1332/p/3656064.html
Copyright © 2011-2022 走看看