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:设置自动提示列表的宽度。

  • 相关阅读:
    第二次作业
    复盘一个商品期货的通用模型
    C#如何获取枚举(Enum)变量的值
    [C#]Socket通信BeginReceive异步接收数据何时回调Callback
    [C#]浮点数除零无法捕获异常的解决办法
    js对字符串进行编码方法总结
    web最全资源网址
    简单粗暴地理解js原型链--js面向对象编程
    常见前端九十道面试题及答案-韩烨
    C语言文件读写,复制
  • 原文地址:https://www.cnblogs.com/tfy1332/p/3656064.html
Copyright © 2011-2022 走看看