zoukankan      html  css  js  c++  java
  • Android深入浅出系列之实例应用—具有自动提示的菜单应用AutoCompleteTextView和ArrayAdapter的使用

      前言

      我们在上百度搜索的时候,只需要输入一个字,就会在下面显示可能的关键字让你挑选,给我们带来了很大的方便,在Android里我们也可以实现此效果。

      

       思路

      在Android里我们需要使用AutoCompleteTextView对象和ArrayAdapter就能达到此效果。

      我们先在布局文件中放置一个AutoCompleteTextView控件,然后预先设置好字符串数组的内容,其次再将字符串数组放置到ArrayAdapter里,最后用AutoConpeleteTextView的setAdapter()方法把ArrayAdapter对象添加进去就可以完成了。

      实现步骤

      一:布局文件编写

      1.1 main.xml

      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
         >
       <AutoCompleteTextView
        android:id="@+id/actv"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
       >
       </AutoCompleteTextView>

      </LinearLayout>

      二:代码文件编写

      2.1 MainActivity.java

      package com.menglin.autocompletetextviewandarray;

      import android.app.Activity;
      import android.os.Bundle;
      import android.widget.ArrayAdapter;
      import android.widget.AutoCompleteTextView;

      public class MainActivity extends Activity
      {
         //预先设置好字符串数组的内容
         private static final String[] strAutoArray = new String[]{"刘德华","刘诗诗","刘恺威","刘若英"};
         AutoCompleteTextView actv;
         @Override
         public void onCreate(Bundle savedInstanceState)
         {
            super.onCreate(savedInstanceState);
            //加载布局文件main.xml
            setContentView(R.layout.main);
            //得到AutoCompleteTextView对象
            actv = (AutoCompleteTextView)findViewById(R.id.actv);
            //创建ArrayAdapter对象,并将strAutoArray字符串数组作为参数传入,第二个参数是出现下拉列表框的样式,在这里我们采用系统的样式,第三个参数为自动提示的数据来源,在这里就是我们的字符串数组
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, strAutoArray); 
            //将ArrayAdapter对象添加到AutoCompleteTextView对象当中
            actv.setAdapter(adapter);
         }
      }

      运行效果如下

      

      

      扩展学习

      如果你觉得系统提供的下拉列表框的样式不是你想要的,你可以在layout目录下创建一个newstyle.xml来布局AutoCompleteTextView控件的下拉列表框的样式,把这句代码的第二个参数改为ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.newstyle, strAutoArray); 

  • 相关阅读:
    mysql-connector-java(6.0以上)的时差问题
    Mysql中的Date转换
    Intellij idea 告警:'while' statement cannot complete without throwing an exception
    JavaScript数组的操作
    Intellij idea 告警:URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
    【网络文摘】2016年里做前端是怎样一种体验
    【JavaScript Demo】回到顶部功能实现
    【JavaScript 插件】实现图片倒影效果
    【读书笔记《Bootstrap 实战》】6.单页营销网站
    【读书笔记《Bootstrap 实战》】5.电子商务网站
  • 原文地址:https://www.cnblogs.com/menglin2010/p/2297745.html
Copyright © 2011-2022 走看看