`
dearbaba2011
  • 浏览: 6783 次
社区版块
存档分类
最新评论

如何把你的AutoCompleteTextView连接到数据库

 
阅读更多

 AutoCompleteTextView可以根据输入的文字来显示提示, 它的Adapter可以是一个list, 也可以动态的提取数据库数据.
  写了一个例子来展示, 建立一个数据库来储存人名, 只要在AutoCompleteTextView里面输入2个字母就会显示匹配下拉单.
  这是一个定制的CursorAdapter, newView会返回一个包含cursor里文字的view, bindView把cursor的数据绑定在view里, convertToString会把view的数据转换为AutoCompleteTextView显示的文字, runQueryOnBackgroundThread方法会查询数据库.    private class MyCursorAdpter extends CursorAdapter {

        private int columnIndex;

        

        public MyCursorAdpter(Context context, Cursor c, int col) {

            super(context, c);

            this.columnIndex = col;

        }



        @Override

        public View newView(Context context, Cursor cursor, ViewGroup parent) {

            final LayoutInflater inflater = LayoutInflater.from(context);

            final TextView view = (TextView) inflater.inflate(

                    android.R.layout.simple_dropdown_item_1line, parent, false);

            view.setText(cursor.getString(columnIndex));

            return view;

        }



        @Override

        public void bindView(View view, Context context, Cursor cursor) {

            ((TextView) view).setText(cursor.getString(columnIndex));

        }

        

        @Override

        public String convertToString(Cursor cursor) {

            return cursor.getString(columnIndex);

        }



        @Override

        public Cursor runQueryOnBackgroundThread(CharSequence constraint) {

            if (constraint != null) {

                String selection = "name like \'" + constraint.toString() +"%\'";

                return sqlite.query("test", columns, selection, null, null, null, null);

            }

            else {

                return null;

            }

        }

    }
复制代码建立数据库, 以及添加数据, 使用CursorAdapter的数据库必须包含_id项.     private void createDatas() {

        String createTable = "create table test (name varchar(255), _id varchar(255))";

        sqlite.execSQL(createTable);

        

        ContentValues values = new ContentValues();

        values.put("name", "nicole");

        values.put("_id", "0");

        sqlite.insert("test", null, values);

        

        values.put("name", "nicolas");

        values.put("_id", "1");

        sqlite.insert("test", null, values);

        

        values.put("name", "jean");

        values.put("_id", "2");

        sqlite.insert("test", null, values);

        

        values.put("name", "jennyfer");

        values.put("_id", "3");

        sqlite.insert("test", null, values);

    }

 

分享自:http://blog.csdn.net/dearbaba2011/article/details/6927444

分享到:
评论

相关推荐

    Android AutoCompleteTextView连接数据库自动提示的方法(附demo源码下载)

    主要介绍了Android AutoCompleteTextView连接数据库自动提示的方法,结合实例形式分析了AutoCompleteTextView操作数据库的原理与具体技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下

    Android中AutoCompleteTextView自动提示

    我们使用控件AutoCompleteTextView 自动提示时,有时需要设置BaseAdapter,设置BaseAdapter时,需要实现Filterable,手动进行筛选。 常用属性 布局只设置了至少输入一个字符显示提示 <AutoCompleteTextView ...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入....1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 ...10.7 掷杯筊——把手机放在空中甩事件处理...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入....1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 ...10.7 掷杯筊——把手机放在空中甩事件处理...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入....1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 ...10.7 掷杯筊——把手机放在空中甩事件处理...

    Google Android SDK开发范例大全的目录

    目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 ...10.7 掷杯筊——把手机放在空中甩事件处理...

    Google+Android+SDK开发范例大全

    拨打电话——Intent.ACTION.CALL的使用 5.3 自制发送短信程序——SmsManager与PendingIntent对象 5.4 自制发送Email程序——Intent在Email上的使用 5.5 自制日历手机数据库——实现SQLiteOpenHelper 5.6 手机震动的...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    Google Android SDK开发范例大全(完整版) 包含部分书中源码 目录 第1章 了解.深入.... 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 ...2.5 部署应用程序到Android...10.7 掷杯筊——把手机放在空中甩事件处理...

    Google Android sdk 开发范例大全 部分章节代码

    好东西与大家同享! Google Android SDK开发范例大全 目录 第1章 了解.深入....1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 ...10.7 掷杯筊——把手机放在空中甩事件处理...

    Google Android SDK 开发范例大全01

    Google Android SDK开发范例大全 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 ...10.7 掷杯筊——把手机放在空中甩事件处理...

    Google Android SDK 开发范例大全02

    Google Android SDK开发范例大全 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 ...10.7 掷杯筊——把手机放在空中甩事件处理...

    Google Android SDK开发范例大全(完整版)

    作者简介 余志龙,来自于手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及J2EE、JSP、Servlet、...10.7 掷杯筊——把手机放在空中甩事件处理...

    疯狂Android讲义源码

     2.4.1 自动完成文本框(AutoCompleteTextView)的  功能和用法 79  2.4.2 Spinner的功能和用法 80  2.4.3 日期、时间选择器(DatePicker  和TimePicker)的功能和用法 83  2.4.4 进度条(ProgressBar)的  ...

    疯狂Android讲义.part2

    2.4.1 自动完成文本框(AutoCompleteTextView)的 功能和用法 79 2.4.2 Spinner的功能和用法 80 2.4.3 日期、时间选择器(DatePicker 和TimePicker)的功能和用法 83 2.4.4 进度条(ProgressBar)的 功能和用法 85 ...

    疯狂Android讲义.part1

    2.4.1 自动完成文本框(AutoCompleteTextView)的 功能和用法 79 2.4.2 Spinner的功能和用法 80 2.4.3 日期、时间选择器(DatePicker 和TimePicker)的功能和用法 83 2.4.4 进度条(ProgressBar)的 功能和用法 85 ...

Global site tag (gtag.js) - Google Analytics