一、SearchView概述 SearchView是搜索框组件,它可以让用户在文本框内输入文字,并允许通过监听器监控用户输入,当用户输入完成后提交搜索时,也可通过监听器执行实际的搜索。...增加一个配套的ListView,则可以为SearchView增加自动完成的功能。...继续使用WidgetSample工程的advancedviewsample模块,在app/main/res/layout/目录下创建searchview_layout.xml文件,在其中填充如下代码片段...:iconifiedByDefault="false" android:queryHint="请输入搜索内容" /> ListView android:id=...接下来为SearchView编写操作控制代码,并为其添加监听器。
本指南将介绍所有 Android 版本系统中三种基本菜单或操作呈现效果的创建方法: 选项菜单和应用栏 选项菜单是某个 Activity 的主菜单项, 供您放置对应用产生全局影响的操作,如“搜索”、“撰写电子邮件...在下文中,您将了解如何扩充每种类型的菜单。 创建选项菜单 在选项菜单中,您应当包括与当前 Activity 上下文相关的操作和其他选项,如“搜索”、“撰写电子邮件”和“设置”。...如果您的 Activity 和片段均为选项菜单声明项目,则这些项目将合并到 UI 中。 系统将首先显示 Activity 的项目,随后按每个片段添加到 Activity 中的顺序显示各片段的项目。...如果 Activity 包括片段,则系统将依次为 Activity 和每个片段(按照每个片段的添加顺序)调用 onOptionsItemSelected(),直到有一个返回结果为 true 或所有片段均调用完毕为止...通过在未处理的情况下调用超类,系统会将事件逐一传递给每个片段中相应的回调方法(按照每个片段的添加顺序),直到返回 true 或 false 为止。
由于耦合性低,添加需求,扩展代码就可以减少修改之前的代码,降低bug的出现率。 模块职责划分明确。主要划分层M、V、C三个模块,利于代码的维护。 什么时候适合使用MVC设计模式?...文件,在其中填充如下代码片段: android.R.layout.simple_list_item_multiple_choice: 都带有一个复选框。...android.R.layout.simple_list_item_single_choice: 都带有一个单选钮。 objects:要实际显示的数组或List,将负责为多个列表项提供数据。...上面的程序中后面几行粗体代码为ListView列表项添加点击事件监听器,当用户点击某列表项的时候,就会收到onItemClick事件,然后做消息提示或者其他需要的处理。
使用Adapter进行数据绑定: 将Adapter应用到继承自AdapterView类上,你需要调用View的setAdapter方法,传入一个Adapter实例,如下面的片段所示: ArrayList...; 26 list.add(map); 27 return list; 28 } 29 30 } 案例二 下面的程序是实现一个带有图片的类表...添加按钮首先要写一个有按钮的xml文件,然后自然会想到用上面的方法定义一个适配器,然后将数据映射到布局文件上。...但是事实并非这样,因为按钮是无法映射的,即使你成功的用布局文件显示出了按钮也无法添加按钮的响应,这时就要研究一下ListView是如何现实的了,而且必须要重写一个类继承BaseAdapter。...但是按钮为了响应点击事件,需要为它添加点击监听器,这样就能捕获点击事件。至此一个自定义的listView就完成了,现在让我们回过头从新审视这个过程。
在Android平台上,listView 是特别常用的组件之一,我们在向用户展示列表数据时,通常要考虑: 列表有数据和无数据空的状态,因为网络环境各异,难免刷新失败什么的; 在此之前我是使用ViewStub...(android listview空布局刷新数据:列表无数据时显示数据加载失败的提示,并且点击提示,刷新数据); 我们来看一下ListView的继承关系, ListView extends AbsListView...boolean empty = ((adapter == null) || adapter.isEmpty()); updateEmptyStatus(empty); } 很简单,我们来看一下Demod的代码片段简单地使用...(textView);//添加引用 adapter = new MyAdapter(); listView.setAdapter(adapter); textView.setOnClickListener...> 后记: 空布局需要和listview放同一个布局, 这个点我们看源代码实现方法也是让他们交换显示的参数,而不是添加或者删除组件视图.
咱就简单讲几个比较常用的搜索技巧即可。 精确搜索 精确搜索,就是搜索的关键字用“ ”(双引号)包含。也叫完整搜索,表示查询词不能被拆分,在搜索结果中必须完整出现。...举例说明 “java.lang.NullPointerException” 这样搜索出来的结果是带有 java.lang.NullPointerException 的网页,而不是分别带有 java,lang...举例说明 比如,在我们程序员的编程当中,肯定很多不同的编程语言里有很多相同的关键字和词语,比如我是做 Android 开发的,ListView 这个控件,不仅在 Android 中有,在 React Native...中也有,我想搜索的时候,去掉带有 React Native 的 ListView 结果。...方法如下: ListView - ReactNative 这样就可以去除掉带有 ReactNative 的 ListView 的网页,增加了精确度。过滤掉了某些你不需要的结果。
这种带有圆角的listview' 看起来很棒吧,确实是这样,其实也不能这么说,主要方形太多了,斯通见惯就不值钱了,“物以稀为贵嘛”....android:radius="8dp" /> 接下来我们要实现也就是listview的第一项selector后背景的shape...代码片段: package com.jj.listview; import android.content.Context; import android.util.AttributeSet; import...和listview是冤家,不可能同时存在,不过网上有解决办法,原理就是我们动态show 我们的listview, 实现方法: /*** * 动态设置listview的高度 * * @param...,加上如上面这些比较死的数据,我们完全没有必要用listview来实现,TableLout完全够了.主要是我们怎么实现带有弧度的边罢了,不过这也完全得力于shape的功劳,至于点击效果效果嘛,我们有selector
2016-03-13 Android零散 ListView中嵌套GridView 要实现分组列表这样的效果:点击ListView中的分组名称,即展开此分组显示其包含的项目。...setAdapter和addHeaderView、addFooterView 可以使用addHeaderView和addFooterView来为ListView添加首尾的个性视图。...两者都可以多次调用来添加多个header和footer。...(requestCode == REQUEST_CODE_EDIT_ITEM && resultCode == RESULT_OK) { //成功返回结果了 } } 上面是典型的代码片段...每次调用startService来执行一些动作时,onStartCommand被执行,其intent参数代表分发过来的意图描述数据(intnt就是一个携带有关“要做什么”的信息对象)。
一、RecyclerView概述 从前面的学习我们知道,ListView的功能非常强大,几乎绝大部分应用程序都会使用到,虽然也学会一些方法技巧来提升ListView的效率,但其性能还是不是很完美...RecyclerView可以看作是ListView的进化版本,当然RecyclerView并不是继承ListView的,RecyclerView直接继承于ViewGroup父类。...继续使用WidgetSample工程的advancedviewsample模块,首先需要添加支持库,这里通过图形化的操作来实现,后期再学习直接代码添加。...在弹出的窗口中输入recyclerview,然后点击右侧的搜索按钮,即可检索到最新的recyclerview依赖库,最后点击OK按钮即可添加。 ?...在app/main/res/layout/目录下创建recyclerview_layout.xml文件,在其中填充如下代码片段: <?
在之前学习ListView的时候,有学习过如何给ListView添加列表头和列表尾。...但是通过近几期的学习,发现RecyclerView是一个比ListView更加强大和灵活的组件,今天一起来学习如何给RecyclerView添加首尾视图。...首先来简单回顾一下ListView是如何添加列表头和列表尾的,先定义好首尾视图,然后通过addHeaderView和addFooterView两个方法来加载即可,相对来说比较简单。...接下来继续使用再上一期的案例来学习如何给RecyclerView添加首尾视图。...至此,关于RecyclerView的首尾视图添加已经学习完毕。当然这里只是简单介绍了其中一种实现方式,更多实现方式后期逐渐学习,欢迎一起交流讨论。
在ListView的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作。...也就是说,这个ListView不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点。...读者可以试试用SimpleAdapter添加一个按钮到ListView的条目中,会发现可以添加,但是却无法获得焦点,点击操作被ListView的Item所覆盖。...接下来为ListView提供Adapter,使用自定义的BaseAdapter决定ListView所要显示的列表项。...至此,关于ListView中常用的几个Adapter基本学习完毕,如果还没有掌握建议回头再多练习。从下一期开始来优化我们的ListView,提供我们的Android程序运行效率。
,如果将GPS定位功能应用到地图上,还可以实现导航、搜索公交、搜索驾车路线等实用且有趣功能。...该程序需要有访问GPS信号的权限,因此需要在AndroidManifest.xml文件中增加如下授权代码片段: 添加一个临近警告,它参数的说明如下。...当程序启动后,程序就会添加一个临近警告,当用户临近郑州二七广场所在纬度、经度时,系统会以文本的形式在屏幕上显示提示信息。...简要描述GPS是什么以及它的功能。 2. 简述在Android中获取GPS定位信息的步骤。 二、上机练习 编写一个小型的动画,动画界面中提供一个小车(用图片表示),一条带有障碍物的道路。
一、了解ListView 在Android开发中,ListView是比较常用的控件,它以列表的形式显示具体内容,并且能够根据数据的长度自适应显示。...,欢迎关注分享达人秀(ShareExpert)获取最新教程,也欢迎加入Android入门技术讨论微信群,可先添加好友(jinwenyu2010)备注Android群,然后拽进群。...,再操作上也是相同的,后期不做过多说明,如果仍有问题建议添加小编好友(jinwenyu2010)拽入Android入门技术分享微信群探讨。...在app/main/res/layout/目录下找到activity_main.xml文件,在其中填充如下代码片段: ListView,并通过android:entries指定了列表项数组, 该ListView还通过android:divider改变了列表项之间的分隔条。
经过前面几期的学习,关于ListView的一些基本用法大概学的差不多了,但是你可能发现了,所有ListView里面要填充的数据都是静态的,但在实际开发中,这些数据往往都是动态变化的,比如数据内容发生改变...、增加几行、或者删除几行,这就涉及到ListView数据的更新问题。...接下来通过一个简单的示例程序来学习ListView的数据更新。...继续使用WidgetSample工程,在app/main/res/layout/目录下创建updatedata_layout.xml文件,在其中填充如下代码片段: 的BaseAdapter决定ListView所要显示的列表项,然后为4个按钮设置监听监听器。
继续使用WidgetSample工程的listviewsample模块,在app/main/res/layout/目录下创建simpleadapter_layout.xml文件,在其中填充如下代码片段:...提供Adapter,使用SimpleAdapter决定ListView所要显示的列表项。...getData()方法生成一个长度为6的集合,意味着生成的ListView将会包含6个列表项,每个列表项都是R.layout.list_item对应的组件。...同ArrayAdapter创建ListView一样,如果需要监听用户单击、选中某个列表项的事件,则可以通过AdapterView的setOnltemClickListener()方法为单击事件添加监听器...,或者通过 setOnItemSelectedListener()方法为列表项的选中事件添加监听器。
该应用旨在提供用户一个方便、快捷的购物体验。通过该应用,用户可以浏览不同类别的商品,并将其添加到购物车中。用户可以查看商品的详细信息,包括价格等。...、搜索框、TabLayout和ListView等。...在sousuo方法中,设置了搜索按钮的点击事件,根据用户输入的关键词搜索相关商品并展示。在initListView方法中,初始化ListView,并加载商品数据。...然后将dataAll列表中的商品添加到shopList列表中,并使用ShopAdapter作为ListView的适配器。...在loadDataToListView方法中,它首先对购物车数据进行逆序排序,以便按照添加时间的逆序显示购物车列表。
三、列表头和列表尾的使用 在实际使用ListView时,经常会有这样的需求:当位于ListView最顶部的时候,显示一个搜索框可以搜索列表内容,或者显示下拉刷新;当位于ListView最底部的时候...给ListView添加HeadView和FootView,当ListView滑动至列表第一项时使HeadView滑动出现,当ListView滑动至列表最后一项时使FootView滑动出现。...:hint="搜索" android:padding="10dp"/> 接着设计一个ListView列表尾布局list_footview_layout.xml...> 最后是将上面定义的列表头布局额列表尾布局添加到ListView列表,主要修改Activity类的onCreate方法,其他不变,代码如下: package com.jinyu.cqkxzsxy.android.listviewsample...,给ListView添加列表和列表尾的代码必须放在设置Adapter代码之前,否则会报错。
1.添加权限 android:name="android.permission.BLUETOOTH"/> android:name...> ListView android:id="@+id/listView1" android:layout_width="match_parent"...import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; import...bluetoothAdapter.cancelDiscovery(); bluetoothAdapter.disable(); } } // ACTION_DISCOVERY_FINISHED,搜索结束后追加已配对的设备...unregisterReceiver(find_R); unregisterReceiver(this); } }; // ACTION_FOUND,这是搜索到的所有蓝牙
代码片段2中的meta部分是AccessibilityService的配置信息,这是android 4.0后才支持的,代码如下: // 代码片段3 的内容发生了变化,比如你在微信的第一个tab页面,这时候来了个聊天消息,就会触发这个事件,附带的className是android.widget.ListView,嗯,没错,微信竟然还是在用...ListView这个过时的组件而不是RecyclerView。...我们捕捉到这个事件后调用searchPacket()方法,顾名思义,这个方法要搜索红包并点击。...通过上面的searchPacket我们搜索到了红包并点击了,这时会出现红包领取页面,我们这里openPacket方法是要找到领取红包的节点并执行这个节点的点击事件进行领取。
前面一共用了8期来学习ListView列表的相关操作,其实学习的ListView的知识完全适用于AdapterView的其他子类,如GridView、Spinner、AutoCompleteTextView...GridView 和 ListView 有共同的父类:AbsListView,因此 GridView和ListView具有很高的相似性,它们都是列表项。...继续使用WidgetSample工程的listviewsample模块,在app/main/res/layout/目录下创建gridview_layout.xml文件,在其中填充如下代码片段: 的行是动态改变的——正如ListView到底包含多少行是由该ListView对应的Adapter所决定的,GridView到底包含多少行也是由Adapter决定的。...R.id.name_tv}); // 为GridView设置Adapter mAppGridView.setAdapter(simpleAdapter); // 添加列表项被单击的监听器
领取专属 10元无门槛券
手把手带您无忧上云