- 浏览: 167904 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
dd18349182956:
你这是哪个版本的smack?
smack 源码分析- PacketWriter (android上实现长连接) -
wangshunfan:
跟着思路走,可以写出来!非常感谢!
Android开发笔记-EditText自动补全功能 -
337240552:
...
smack 源码分析- PacketReader (android上实现长连接) -
vasuer:
String jsonStr = request.getPar ...
前台如何将多个json对象传入java后台 -
ly_50:
下载Android SDK时出现Site Authentica ...
在线下载更新Android SDK提示Site Authentication
项目开发之需要, 根据用户拼音或代码检索出用户信息. 现在有两种方法可以实现.
1. 使用android系统自带组件: AutoCompleteTextView .
效果图如下:
布局文件:
auto_textview.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" > <TextView android:id="@+id/selection6" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <AutoCompleteTextView android:id="@+id/editAuto" android:layout_width="fill_parent" android:layout_height="wrap_content" android:completionThreshold ="1" /> </LinearLayout>
2. java代码:
public class AutoComplementTest extends Activity {
private AutoCompleteTextView edit; private String[] items={"lorem", "ipsum", "dolor", "sit", "amet", "consectetuer", "adipiscing", "elit", "morbi", "vel", "ligula", "vitae", "arcu", "aliquet", "mollis", "etiam", "vel", "erat", "placerat", "ante", "porttitor", "sodales", "pellentesque", "augue", "purus"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.auto_textview); edit = (AutoCompleteTextView)findViewById(R.id .editAuto); //步骤1:设置适配器 edit.setAdapter (new ArrayAdapter<String>(this ,android.R.layout.simple_dropdown_item_1line ,items )); } }
此法的弊端: 不能根据字母拼音或代码检索, 只能根据返回的值自动补全, 拓展性不全.
方法二:
EditText和ListView组合成类似自动补全功能.
效果图如下:
布局文件代码:
<EditText android:id="@+id/edit_key" android:layout_width="fill_parent" android:layout_height="32dip" android:layout_marginLeft="2dip" android:layout_marginTop="4dip" android:layout_marginBottom="4dip" android:paddingTop="8dip" android:paddingBottom="4dip" android:focusable="false" android:layout_marginRight="12dip" android:background="@drawable/qt_search_txt" /> <ListView android:id="@+id/lstv_all" android:layout_width="fill_parent" android:layout_height="wrap_content" />
java代码:
public class LoadableStockListActivity extends ListActivity{ private StringBuffer sb = new StringBuffer(); private EditText txtKey; private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.loadable_stock_list_activity); foursquared = ((Foursquared)this.getApplication()); mEmptyProgress = (ProgressBar) findViewById(R.id.emptyProgress); mEmptyText = (TextView) findViewById(R.id.emptyText); setLoadingView(); txtKey = (EditText)findViewById(R.id.edit_key); listView = (ListView)findViewById(R.id.lstv_all); //添加文本改变事件 txtKey.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { key = txtKey.getText().toString(); if(key!=null && !"".equals(key.trim())){ Log.i(TAG , " key:"+key); List<Map<String , String>> lst = foursquared.getSelectStock(key);//根据关键字查询股票代码 StockListAdapter stockAdapter = new StockListAdapter(LoadableStockListActivity.this , lst); listView.setAdapter(stockAdapter); }else{ listView.setAdapter(null); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); //查询所有股票相关数据 List<Map<String , String>> lst = foursquared.getSelectStock(null); //自定义ListView适配器 StockListAdapter stockAdapter = new StockListAdapter(this , lst); //设置适配器 listView.setAdapter(stockAdapter); }
getSelectStock()方法详解:
/** * 获取股票代码信息列表 * @return */ public List<Map<String , String>> getSelectStock(String key){ stockDB.open(); List<Map<String , String>> stocks = stockDB.selectStock(key); stockDB.close(); return stocks; } selectStock()方法详解:(欲了解stockDB具体代码,请参考: 上篇:android开发笔记-sqllite操作) public List<Map<String , String>> selectStock(String key){ if(!db.isOpen()){ db = dbHelper.getReadableDatabase(); } List<Map<String , String>> stockList = new ArrayList<Map<String , String>>(); Cursor cur = null; if(null!=key && !"".equals(key)){ //查询的列字段名 String [] columns = {CODE , NAME , SIMPLE}; //查询条件 String where = CODE+ " like ? or "+NAME+" like ? or "+SIMPLE+" like ? "; //查询参数 String [] selectArgs = {key+"%" , key+"%" , key+"%"}; //执行查询 cur = db.query(DATABASE_TABLE, columns, where , selectArgs, null, null, null); cur.moveToFirst(); //循环读取数据 while(!cur.isAfterLast()){ Map<String , String> stockMap = new HashMap<String , String>(); String code = cur.getString(0); String name = cur.getString(1)+"("+code+")"; stockMap.put("code" , code); stockMap.put("name" , name); stockList.add(stockMap); cur.moveToNext(); } cur.close(); close(); return stockList; } return null; }
此方法能够根据股票代码, 拼音字母检索股票信息
发表评论
-
判断Android系统时间是否是24小时制
2012-05-07 12:04 6281次方法判断Android系统时间是否是24小时制: ... -
rm failed for Gallery3D.apk, Read-only file system
2012-05-02 18:31 0如果你获取了ROOT权限, 使用命令删除系统apk的时候也会报 ... -
在线下载更新Android SDK提示Site Authentication
2012-04-16 18:43 6244在线下载更新Android SDK时会提示:Site Aut ... -
使用AXMLPrinter2.jar批量反编译xml文件
2012-02-25 23:56 9132使用AXMLPrinter2.jar批量反编译xml文件. ... -
eclipse导入的Android项目没有android.jar包并报错
2012-02-15 11:35 9141从网上下载一个项目, 报错. 发现没有导入android.j ... -
[转载]Android UI 的更新及其线程模型
2012-02-06 11:00 1431让我们通过一个交通状 ... -
smack 源码分析- PacketReader (android上实现长连接)
2012-01-11 17:17 3837smack 源码分析- PacketWriter (andr ... -
smack 源码分析- PacketWriter (android上实现长连接)
2012-01-11 16:36 3091上一篇smack 源码分析一(android上实现长连接) ... -
smack 源码分析一(android上实现长连接)
2012-01-11 15:35 8024前段时间应一个项目需求: 要求给终端短信, 联系人信息做一个 ... -
smack 源码分析一
2012-01-11 14:44 2前段时间应一个项目需求: 要求给终端短信, 联系人信息做一个 ... -
解决SipDroid导入Eclipse报错问题
2012-01-10 11:16 19781. 准备工具: SVN , ANT 2. 操作步骤: ... -
android sqlite查询数据时报错: get field slot from row 0 col -1 failed
2011-12-14 15:02 5067android sqlite查询数据时报错: get f ... -
Android开发笔记-签名认证
2011-10-08 12:32 1636一个android项目开发完成之后要安装到设备上或者放到电子市 ... -
android开发笔记-sqllite数据库的操作
2011-09-08 17:01 33671.SQLLite简介: 在Android平 ... -
android开发笔记-ListView动态加载数据
2011-08-06 12:31 6950项目开发之需要, 做一个ListView分页显示, 动态加载数 ... -
android开发笔记-Handler的理解
2011-07-25 16:35 8331.Handler的定义: 在主线程中创建, 用于接收子 ... -
android开发笔记-Handler的理解
2011-07-25 16:32 9211.Handler的定义: 在主线程中创建, 用于接收子 ... -
Android常见组件属性详解
2011-07-20 16:07 6141. TextView 属性详解: http://www.cm ... -
Android常见错误代码
2011-07-20 15:50 11941.Installation error: INSTALL_F ... -
基于Google Map API的android地图开发
2011-05-23 22:37 29381. 因为Google Map 类库不是android sdk ...
相关推荐
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
c语言UDP传输系统源码.rar
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
基于matlab多目标遗传算法matlab程序.rar
软件可以给需要制作自己喜爱的MC皮肤的玩家来自己制作皮肤,快来下载吧!
数据可视化-Pyecharts绘制饼图
操作系统是计算机系统中至关重要的组成部分,它作为计算机硬件与软件之间的桥梁,负责管理和控制计算机的硬件和软件资源,确保它们得到合理的分配和使用。操作系统不仅影响计算机的性能,还决定了用户界面的友好程度以及计算机系统的安全性和稳定性。因此,深入理解和掌握操作系统的知识对于计算机专业人士来说至关重要。
欧母龙PLC例程源码小车控制程序提取方式是百度网盘分享地址
么么哒.mp3
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
登录密码是一种用于验证用户身份并授权其访问特定系统、应用程序或网站的机制。它是用户在注册或创建账户时自行设置的秘密字符组合,通常与用户名配对使用。登录密码是保护用户隐私和数据安全的重要措施之一。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
【资源说明】 毕业设计 基于Pytorch毕业论文知识图谱(Neo4j)构建平台源码+详细文档+全部数据资料(高分项目).zip毕业设计 基于Pytorch毕业论文知识图谱(Neo4j)构建平台源码+详细文档+全部数据资料(高分项目).zip 【备注】 1、该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过mac/window10/11测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
机械设计外扇叶金属轴装配step非常好的设计图纸100%好用.zip
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Maven作为一款强大的项目管理工具,为开发者提供了自动化构建、依赖管理、项目文档生成等功能。通过掌握Maven的核心概念和基本使用,开发者可以更加高效地管理项目,提高开发效率和质量。同时,Maven的灵活性和可扩展性也使得它能够适应各种复杂的项目需求。因此,无论是初学者还是资深开发者,都应该学习和掌握Maven这一项目管理利器。
欧母龙PLC例程源码洗涤器电机插管改善提取方式是百度网盘分享地址