• 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); 

  • 相关阅读:
    利用反射技术修改类中的字段(成员变量的反射)
    Java长存!12个Java长久占居主要地位的原因
    撰写架构设计文档的心得体会
    做个正能量的程序员
    程序员如何提高自己的编程水平
    mysql查询优化
    MySQL修改最大连接数,没有my.ini文件,只有my-default,这怎么改呀?
    PDO 拿出來的 Float 數據跟数据库中的数据不匹配
    大量多级分类数据的获取、缓存、搜索查询 怎么设计最快 ?
    windows下MySQL5.6以上版本,如何通过修改配置文件来修改数据库的最大连接数啊?
  • 原文地址:https://www.cnblogs.com/menglin2010/p/2297745.html
Copyright © 2020-2023  润新知