首页 > 代码库 > Android 依据EditText搜索框ListView动态显示数据
Android 依据EditText搜索框ListView动态显示数据
依据EditText搜索框ListView动态显示数据是依据需求来的,认为这之中涉及的东西可能比較的有意思,所以动手来写一写。希望对大家有点帮助。
首先。我们来分析下整个过程:
1、建立一个layout,包括一个EditText搜索框和一个ListView
2、创建一个数据集mData,用于ListView的Adapter的创建
3、加入EditText的文本改变的监听器
4、利用notifyDataSetChanged()动态更新ListView
第一步:创建一个搜索框
这个还是比較easy的。这里我使用的是http://blog.csdn.net/walker02/article/details/7917392该文章的文本框。具有点叉全删功能,只是,删除了搜索button,由于我们动态搜索,用不到button。
加入一个Relativelayout布局,然后往里加入两个控件(详细是3个),
效果如上,xml代码例如以下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.ricawinter.dynamicsearch.MainActivity$PlaceholderFragment" > <RelativeLayout android:id="@+id/top" android:layout_width="fill_parent" android:layout_alignParentTop="true" android:paddingLeft="10dp" android:paddingRight="10dp" android:background="@drawable/top_background" android:layout_height="wrap_content"> <RelativeLayout android:id="@+id/rlSearchFrameDelete" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:gravity="center_vertical" > <EditText android:id="@+id/etSearch" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:background="@drawable/search_frame" android:layout_marginRight="10dp" android:paddingLeft="32dp" android:textSize="12sp" android:hint="Searching..."/> <ImageView android:id="@+id/ivDeleteText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:src=http://www.mamicode.com/"@drawable/delete">第二步:创建数据集mData
这里使用的是SimpleAdapter。所以数据集创建的格式我的是这种,自己依据自己的Adapter来建立元数据,存放在mListTitle和mListText里的数据是不会去改的,而mData是会在文本框改变时,mData的数据也会做对应的改变,这个是更新操作须要做的。这里是创建元数据集。
代码例如以下:
ListView mListView; ArrayList<Map<String, Object>> mData = http://www.mamicode.com/new ArrayList
Android 依据EditText搜索框ListView动态显示数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。