Android控件ListView和Spinner组合控件案例

ListView里面嵌套spinner和editext public class Adapter extends BaseAdapter { private ArrayList lines; private List data_list; private String[] checkListName; private List list; private Worker wo 阅读详情

ListView和Spinner组合控件案例
最终效果图
选择左上角下拉菜单不同项,ListView发生改变

这里写图片描述
通过EditText输入框输入部分产品名称信息,List View显示相关产品
编程思路:
一、创建一个工程后,我个人比较喜欢先对xml进行布局。
activity_layout.xml整体采用垂直线性布局方式

  • 内部嵌套一个水平线性布局,并在其中设置Spinner、EditText和ImageButton控件
  • 设置ListView控件

二、写主类文件
首先,分析数据发现每一条数据proArr是产品名称、catArr是分类名称(与proArr一一对应)、prodImg是drawable照片名称。
接着,对catArr 分类名称整合,消除冗余项。
在Spinner的setOnItemSelected()内部类中设置ListView显示的内容。
根据按的Spinner的position位置,获取相应的类的名称。把同类产品及其信息通过HashMap方式打包,放到ArrayList(数据带)中。通过SimpleAdapter在应用上下文中,添加ArrayList,用自定义的item_listview.xml进行显示,把键名称和控件id对应起来。这样就配置好一个SimpleAdapter,将它放入listView中就可以了。

String cat_str = cat_arr[position];
ArrayList showArrayList = new ArrayList();
HashMap showHashMap;
for (int i = 0; i < proArr.length; i++) {
    showHashMap = new HashMap();
    if (catArr[i].equals(cat_str)) {
        showHashMap.put("pro", proArr[i]);
        showHashMap.put("category", cat_str);
        showHashMap.put("img", proImg[i]);
        showArrayList.add(showHashMap);
    }
}
SimpleAdapter simpleAdapter = new SimpleAdapter(getApplicationContext(),showArrayList,R.layout.item_listview,new String[]{"pro","category","img"},new int[]{R.id.title,R.id.category,R.id.img});
listView.setAdapter(simpleAdapter);

三、补充:实现模糊查询
在ImageButton.setOnClickListener()内部类中
可以从EditText对象的getText().toString()获取输入的字符串
通过字符串的contains()方法去比对,若字符串中包含输入的字符串则返回true,否则返回false。
这样我们就可以对每一个proArr字符串进行遍历,满足的进行包装。

答案下载: http://download.youkuaiyun.com/download/timliangl/10030245
附件数据:
在values文件夹下创建arrays.xml文件,内容如下:

<resources>
    <string-array name="proArr">
        <item>可口可乐CocaCola</item>
        <item>皮制箱leatherBox</item>
        <item>统一泡面instantnoodles </item>
        <item>Tcl电视</item>
        <item>金士顿U盘</item>
        <item>中国简史brief history of China </item>
        <item>朗科U盘Netac</item>
        <item>海尔空调air conditioner</item>
        <item>张裕红酒 red wine</item>
        <item>MP3播放器</item>
        <item>吸类器suction trap</item>
        <item>油烟机 lampblack machine</item>
        <item>口香糖Chewing gum</item>
        <item>唐诗三百首three hundred poems of Tang Dynasty</item>
        <item>拉杆箱pull rod box</item>
    </string-array>
    <string-array name="catArr">
        <item>食品</item>
        <item>箱包</item>
        <item>食品</item>
        <item>家电</item>
        <item>数码</item>
        <item>图书</item>
        <item>数码</item>
        <item>家电</item>
        <item>食品</item>
        <item>数码</item>
        <item>家电</item>
        <item>家电</item>
        <item>食品</item>
        <item>图书</item>
        <item>箱包</item>
    </string-array>
    <array name="prodImg">
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
        <item>@drawable/sample_thumb_2</item>
    </array>

</resources>
基于Python的微信聊天记录分析——数据获取 本篇为“基于Python的微信聊天记录分析”第一篇,主要涉及数据获取,包括Python环境配置、WeChatMsg项目配置和运行、获取聊天记录等内容,流程简单、比较基础,后续这个系列会涉及基于Python的数据处理、统计分析、NLP技术等内容。希望和大家多多交流,共同进步! 阅读详情

相关推荐

Mask2former自定义数据集实现滑坡语义分割

先介绍一下这次用的数据集:Bijie Landslide Dataset,是武汉大学在Triplesat卫星上裁剪的数据集,包含770张滑坡(image、mask、dem、边界坐标txt)和2003张非滑坡数据(dem、image)。直接在ade20k修改,按照路径和设置将预处理数据放好,该步骤很快就能结束,打开的图片是全黑的,因为0和1在图片上肉眼较难区分。bijie的数据集可以直接使用,接下去的步骤是1、预处理数据。配置文件修改训练类别和训练类型,由于我们分割的是滑坡,所以进行语义分割。

weixin_57812838的博客 2216

在Listview里面加入Spinner

Spinner会在很多的场景下面使用,比如选择城市,学校等,Listview的使用场景我也不用多说了,作为一个android菜鸟,我经常使用Listview。后来做项目中的一个功能,在我这个菜鸟来看,使用Spinner和Listview的结合效果还不错,但是貌似这个不是想象中的那么简单,因为Listview中的每个item都要有对应一个Spinner,这里面就会出现问题

zcrazy的博客 7086

Xiaojie雷达之路---使用CCS创建一个毫米波雷达的工程(AWR1843)

前些天,在工具箱中下载了一个基于毫米波雷达(AWR1843)自动停车的案例,并成果导入CCS中,可以完美运行,但是如何新建一个新的工程呢?这篇文章就会对其进行讲述。

XiaoJie的博客 4550

Android开发使用Spinner更新ListView

Android中通过Spinner更新ListView

Afison的博客 897

GIS常用坐标系简介

EPSG:4326是基于WGS 84的地理坐标系,使用经纬度表示,适用于全局定位和地理数据表示。它的缺点是在进行距离、面积计算等地理分析时不够准确。EPSG:3857是投影坐标系,使用平面米坐标表示,适用于在线地图展示,特别适合 Web 地图应用。虽然它在地图展示中很高效,但由于投影引起的变形问题,它不适合高精度地理测量和计算。

weixin_59096287的博客 1977

自监督学习与上下文赌博机融合:视觉决策中的协同优化与实战指南

在机器学习领域,自监督学习(Self-Supervised Learning)通过设计前置任务从无标注数据中学习通用表征,已成为解决标注数据稀缺问题的关键技术。其核心原理是利用数据自身的结构生成监督信号,训练编码器提取鲁棒特征。上下文赌博机(Contextual Bandits)作为强化学习的简化分支,专注于在给定上下文信息下做出单步最优决策,平衡探索与利用,广泛应用于推荐系统、广告投放等场景。将两者结合,构建端到端的协同训练框架,能让视觉表征的优化直接服务于最终的决策目标,同时利用自监督任务作为正则化项提

weixin_33721344的博客 520

Android-高级控件-下拉列表(Spinner)&列表视图(ListView)

练习题目 (1)界面构成: ①5个文本框用于显示提示信息“姓名:”、“年龄”、“专业”、“学历”、“爱好”; ②2个编辑框分别用于接收学生的姓名和年龄; ③3个单选按钮用于专业选择(计算机科学与技术、软件工程、网络工程); ④1个Spinner用于学历选择,使用数组资源获取列表项(高中、本科、硕士研究生、博士研究生、其他); ⑤n个复选框用于爱好选择(n>=3); ⑥3个普通按钮,文本分别显示为“录入”、“重置”、“显示”; ⑦1个ListView,用于显示录入的所有学生信息。...

weixin_46858088的博客 1万+

31、自然语言生成中的流畅度评估

本博客探讨了自然语言生成(NLG)中流畅度评估的重要性和方法。文章详细介绍了流畅度的定义及其影响因素,包括句法结构、词汇选择、语义一致性和段落组织。同时,讨论了自动评估和人工评估两种主要方法,并以机器翻译、自动摘要和对话系统为例分析了流畅度评估的应用场景。最后,文章提出了提升流畅度的技术策略以及未来研究方向,为相关领域的研究者和开发者提供了有价值的参考。

h9j8k7l6m5n的博客 275

Spinner下拉列表装填数据的两种方法

Android中,给Spinner组件装填数据比较常见的有以下两种方法: 一、编程载入列表数据 效果图:   首先,在布局文件main.xml中添加spinner组件,代码如下: http://schemas.android.com/apk/res/android"     android:orientation="vertical"     android:layout_wid

变胖变强大的专栏 859

全面解析 SAP 事务码 LTMOM 的应用与实践

综上所述,事务码 LTMOM 是 SAP 系统中不可或缺的迁移对象维护工具,它不仅提供了对数据迁移对象的精细配置功能,还通过灵活的数据转换规则与异常监控机制,为企业数据从 SAP ERP 向 SAP S/4HANA 的迁移提供了坚实保障。在数据迁移过程中,并非所有的迁移对象都需要同时启用。业内专家普遍认为,未来的系统升级与数据迁移将更注重业务需求的动态变化与数据实时性的要求,而 LTMOM 作为核心工具,其在流程自动化、数据智能校验以及跨系统数据联动方面的能力,将直接影响企业整体数字化转型的成败。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1010

物联网Node-Red开发教程-第6章 HTTP与Web服务

本章摘要(147字): 本章系统讲解了Node-RED中的HTTP节点应用,重点包括: 三大核心HTTP节点功能:http in(接收请求)、http response(返回响应)、http request(调用外部API) 详细演示了REST API开发流程,包括路径参数(req.params)处理和响应构造 提供了创建Hello World API、传感器数据接口等实用示例 涵盖HTTP方法特性、状态码设置及响应头配置等关键知识点 通过流程图和JSON配置直观展示节点连接方式,帮助快速掌握Web服务开发

shihui2003的博客 264

android spinner listview,安卓中ListView中怎么加Spinner!

com.apress.gerber.leadus;android.app.Activity;android.os.Bundle;android.view.View;android.widget.AbsListView;android.widget.AdapterView;android.widget.ArrayAdapter;android.widget.ListView;android.widg...

weixin_29421255的博客 409

如何使用GitHub API爬取仓库数据:完整教程及Python实现

通过本教程,你已经掌握了如何使用GitHub API爬取仓库数据,并将这些数据存储和清洗以便后续分析。我们从API认证、数据获取、存储、清洗等方面进行了详细介绍,并展示了如何利用Python进行自动化处理。希望这些代码和技术能够帮助你更好地使用GitHub API进行数据分析。

2201_76125261的博客 784

Android 高级控件(一)

一:AutoCompleteTextView自动提示在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,这种效果在Android中是用AutoCompleteTextView实现的。 xml页面设置控件:<AutoCompleteTextView android:layout_width="match_parent" android:layout_hei

Be_Master的博客 539

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Android开发学习第六天

常用控件 单选复选控件 单选 RadioGroup 事件 setOnCheckdChangeListener(OnCheckedChange listener); android:button ="@null"取消前置按钮 android:drawableRight(Top[…])="@android:drawable/btn_radio(star[…])" 设置后置图标 OnCheckedChange(RadioGrop,CheckedId)、 复选 CheckBox OnCheckedChang

weixin_43664383的博客 297

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Android基本组件介绍

Android开发中对于组件的id号的定义是随意的,前提是不重复,因为无论在哪个文件里定义的组件,系统最终都会把各个组件id集成在R.java文件里,需要使用或者指定动作时一般提供对应id号即可。当然也可以不定义,但是这样不方便以后使用或者指定某个特定的组件,因此推荐都定义id号。 常用的UI组件有widget、menu、ListView、Dialog、Toast和Notification。 ...

csdn9228的博客 729

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Android Widget工具箱

在手机领域中,智能手机逐渐占据着主导地位,极大的吸引着用户的青睐。在这里我们将会为大家详细介绍一款功能比较强大的手机操作系统Android。Android 提供了标准View的Android Widget工具箱帮助你创建简单的界面。通过使用这些控件(修改或扩展,如果必要的话),你可以简化你的开发并且保证了应用程序间的一致性。 Android本地应用程序应用方式介绍 Android传

345

4.6Android widget工具箱

Android提供了一个标准的视图工具箱来帮助创建简单的UI界面,通过使用这些控件,(必要的时候需要对他们进行修改或者扩展),可以简化开发,并提供应用程序之间的一致性. 1.TextView 一个标准的只读标签,它支持多行显示,字符串格式化,以及自动换行. 2.EditText 一个可编辑的文本输入框,它接受多行输入,并自动换行. 3.CHRONOMETER 一个textVi...

weixin_34050427的博客 132

Autojs基础-用户界面(ui)

脚本开发需要有界面与用户进行交互,许多脚本开发语言已经有自己的ui控件的使用方式,比如按键精灵的ui界面设置非常便捷。按键精灵的ui控件的取值和赋值方式都已经封装好了,但是autojs很多时候只提供控件,取值和赋值需要自己通过安卓进行封装,甚至需要自己手搓控件功能。以游戏为例,会有各种任务,我们可以根据选择的任务运行脚本,最好的就是多选框单选的方式,这样比较好看。但是,autojs没有让多选框单选的方式,我们又无法保证用户每次只选择一个任务,我们就需要手搓这个功能。

qq_55896432的博客 1868

Android ListView中加入Spinner的一些问题

前段时间入手了一台Android系统的G2,入手的原因很简单了,想研究Android方面的应用开发。断断续续的看了一些资料,了解了一些基本的知识,这几天就准备做一个将Excel表格的通讯录导入到手机里。做了有几天了,前面断断续续的有一些小问题,都是些初学者常有的,今天做了一个ListView中加入Spinner,花了很多时间.第一次,SimpleAdapter,通过新建一个spinner,然后

lucom11的专栏 5283

【Android Studio学习】11.menu选项菜单,spinner下拉框,以及ListView的合作

安卓作业实现以下效果:利用选项菜单或者spinner实现这样一个分类效果,感觉还挺实用的。记录一下制作过程。 listview的布置 首先在mainactivity的xml文件里添加一个listview控件, 如果使用spinner还可以添加一个spinner控件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

m0_51692337的博客 2835

android -Spinner控件 ListView

3.构建Adapter对象,指定列表中每一项的数据显示样式,并将数据源数据通过构造函数等方式传递给Adapter对象。4.列表控件调用setAdapter()方法,关联创建好的Adapter对象,展示数据源中的数据。数据适配器是数据和视图之间的桥梁,类似于一个转换器,将复杂的数据转换成数据用户设定的样式呈现出来。,SimpleAdapter 显示列相对复杂的列表,要求所有的列表项结构相同,显示样式相同,1.在布局文件中添加列表控件,在java代码文件中通过id属性获取到列表控件。layout布局列表文件。

wan_wWw的博客 557

ListView 分组(实现联系人)、 ExpandableListView (可拓展ListView实现,简单三国杀界面)、Spinner(二级联动)

ListView分组 ExpandableListView 可拓展ListView Spinner

One_sir_zeng的博客 1748

Android中给Spinner或ListView添加数据

先看ListView的api文档的说明A view that shows items in a vertically scrolling list. The items come from the ListAdapter associated with this view.ListView是一个垂直显示选项的滚动列表,它的数据来自ListAdapter。注意它是可以多选,多显示的。再看Spinne

乐吾天 1390
上一篇: Android界面布局
下一篇: Eclipse用户自定义类库
TimliangL
博客等级 码龄9年 17粉丝 24原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值