android ListView布局之三(使用自定义的Adapter绑定数据,通过contextView.setTag绑定数据)有按钮的ListView

如何在Adapter中正确的使用Context 前言 最近我在项目中,发现一个同事写 RecyclerView.Adapter 的时候都习惯定义一个全局的私有 mContext,然后在 onCreateViewHolder(parent: ViewGroup, viewType: Int) 方法中进行赋值操作 mContext = parent.context。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wzo0BlR5-1611468169753)(#pic_center)] 第一次见到这样的写法, 三种方式 阅读详情

最终结果图:

 

 

代码结构示意图

 

 

 

 

vlist2.xml代码:

 

listView3.java代码

 

zujian.java

MyAdapter.java

废话连篇:

 

 代码中的注释已经解释的很清楚了,这里再次强调一遍,三步骤

第一步:准备主布局文件、组件布局文件等

第二步:获取并整理数据

第三部:绑定数据,这里我们是通过自己编写adapter来完成的。

 

listView在开始绘制的时候,系统首先调用getCount()函数,根据他的返回值得到listView的长度,然后根据这个长度,调用getView()逐一绘制每一行。

如果你的getCount()返回值是0的话,列表将不显示同样return 1,就只显示一行。

 

 

 

  系统显示列表时,首先实例化一个适配器(这里将实例化自定义的适配器)。当手动完成适配时,必须手动映射数据,这需要重写getView()方法。系统在绘制列表的每一行的时候将调用此方法。

getView()有三个参数,position表示将显示的是第几行,covertView是从布局文件中inflate来的布局。我们用LayoutInflater的方法将定义好的vlist2.xml文件提取成View实例用来显示。然后将xml文件中的各个组件实例化(简单的findViewById()方法)。

这样便可以将数据对应到各个组件上了。但是按钮为了响应点击事件,需要为它添加点击监听器,这样就能捕获点击事件。至此一个自定义的listView就完成了,现在让我们回过头从新审视这个过程。系统要绘制ListView了,他首先获得要绘制的这个列表的长度,然后开始绘制第一行,怎么绘制呢?调用getView()函数。在这个函数里面首先获得一个View(实际上是一个ViewGroup),然后再实例并设置各个组件,显示之。好了,绘制完这一行了。那 再绘制下一行,直到绘完为止。在实际的运行过程中会发现listView的每一行没有焦点了,这是因为Button抢夺了listView的焦点,只要布局文件中将Button设置为没有焦点就OK了。

 

android demo,BaseAdapter传递context的应用 android demo,BaseAdapter传递context的应用, 立即下载

相关推荐

安卓listview自定义adapter

安卓listview自定义adapter包括demo和一些其他自定义绑定的代码

android 自定义弹出框Dialog

android 自定义弹出框Dialog 第一步:布局文件dialog_normal_layout  <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_par

u012482178的专栏 937

ListView的自定义适配器Adapter

简单的listview自定义适配器的使用方法,注释很清晰,也有对应的博文介绍

AlertDialog 点击按钮后不关闭的处理办法

AlertDialog mDlgs=null; public void showQureyWin(){// if (mDlgs != null) {//以创建 mDlgs.show(); return; } // 得到自定义对话框 View DialogView = LayoutInflater.from(this).inflate(R.layout.stock_free_inven

编程之美 1453

OpenHarmony 5.1 RK3568 开发板烧录:从源码编译到镜像写入的 6 步实战

本文详细解析了OpenHarmony 5.1在RK3568开发板上的全链路开发流程,包括环境搭建、源码编译、镜像烧录等6个关键步骤。通过实战指南和避坑技巧,帮助开发者快速掌握OpenHarmony系统的烧录与定制能力,提升物联网设备开发效率。

weixin_33722405的博客 343

告别串口打印:手把手教你用Qt Creator远程调试i.MX6开发板(附gdbserver配置)

本文详细介绍了如何使用Qt Creator配合gdbserver实现i.MX6等ARM开发板的远程调试,告别传统的串口打印调试方式。通过图形化界面设置断点、监控变量,显著提升嵌入式开发效率,适用于各类ARM架构开发板的调试需求。

weixin_30781775的博客 217

android 简单快速 自定义dialog(简单好用,不需要设置样式)

2.res/anim 下新建 dialog_in_anim.xml 和 dialog_out_anim.xml。3.界面布局:dialog_layout.xml ,半透明颜色值:#80000000。dialog_out_anim.xml 底部隐藏。dialog_in_anim.xml 底部显示。

OneN的博客 2170

【S32K】S32K144入门笔记(3) SPI(lpspi组件)

0. 引言 与第二篇can对应,第三篇本来想写lin的,毕竟都是车身上常用的总线。但是lin比较麻烦,所以先拖后一下,先把SPI记录一下。 SPI在我们的系统架构中是S32K和ADAS之间做数据传输用的,毕竟速率够高,数据量能传的比较大。 1. 准备 1.1 SPI基础知识 1.2 开发环境 1.2.1 软件开发环境 1.2.2 硬件环境 SPI 2. Demo ...

YoYo的桃子树 2万+

android 系统全局弹框_Android 经典笔记七 全局弹窗Dialog

目录介绍1.全局弹窗分析2.全局弹窗必要条件3.全局弹窗实现方式3.1. 利用系统弹出dialog3.2. 获取WindowManager,直接添加view3.3. 在服务里,获取栈顶的Activity,弹窗4.Dialog实现全局Loading加载框4.1. 自定义Loading类4.2. 给自定义的Dialog添加自定义属性4.3. Loading布局4.4. 开始使用5.遇到的问题...

weixin_39626613的博客 1126

告别代码移植烦恼:STM32CubeMX 6.4.0 + STM32F407ZGT6 + YT8512C PHY芯片的LWIP网络配置全攻略

本文详细介绍了如何使用STM32CubeMX 6.4.0配置STM32F407ZGT6与YT8512C PHY芯片的LWIP网络适配,包括硬件特性解析、STM32CubeMX基础配置、专用驱动适配和LWIP协议栈定制化配置,帮助开发者解决PHY芯片差异导致的网络问题。

weixin_28718793的博客 290

大数据审计常用的算法模型

数据预处理:用聚类算法(K-Means)对数据分组,缩小分析范围;异常初筛:用孤立森林/DBSCAN快速标记疑似异常样本;风险分级:用随机森林/XGBoost对疑似异常打分,确定核查优先级;关联深挖:用FP-Growth挖掘异常样本背后的人员/流程关联;文本佐证:用BERT分析相关合同/审批文本,获取舞弊证据。例如,某审计项目通过“K-Means分组→孤立森林标异常→FP-Growth找关联→BERT审合同”的流程,仅用1周就完成了过去3个月需10人团队的工作量,且挖出2起隐藏的串标舞弊案。

Yulay专栏 1066

Android开发——官方推荐使用DialogFragment替换AlertDialog

0. 前言DialogFragment是在Android3.0(API level 11)中引入,代替了已经不建议使用的AlertDialog。为什么不再建议使用AlertDialog了呢?我们先得清楚DialogFragment存在的意义。本文原创,转载请注明出处为SEU_Calvin的博客。(1)DialogFragment和Fragment基本一致的生命周期,因此当旋转屏幕和按下后退键...

weixin_30443747的博客 279

usb gadget uvc driver的code分析

uvc的linux driver分为host侧和gadget侧两个driver。host侧的driver在v4l2框架下,而设备侧的driver在usb/gadget文件夹下。gadget侧的uvc driver,利用v4l2框架去注册video_device,向应用层提供调用接口。同时,它完成v4l2 video buffer拷贝到usb request下的buffer下,然后利用uvc实现的协

lintwins的专栏 1万+

android listview settag,android ListView布局之三(使用自定义的Adapter绑定数据,通过contextView.setTag绑定数据)有按钮的ListView...

http://blog.csdn.net/chenzheng_java/article/details/6202586最终结果图: 代码结构示意图 vlist2.xml代码:xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height...

weixin_29000417的博客 448

全国(山东、安徽)职业技能大赛--信息安全管理与评估大赛题目+答案讲解——windows应急响应篇

保护数据,捍卫安全,展现技能,赢得荣耀!全国职业技能大赛-信息安全与评估大赛,挑战你的技术,揭示黑客的秘密!加入我们,成为信息安全的守护者!

人若无名,便可专心练剑 906

FANUC机器人通过ROBOGUIDE实现与实际的机器人进行程序导入导出的具体方法示例

FANUC机器人通过ROBOGUIDE实现与实际的机器人进行程序导入导出的具体方法示例

Robot_PLC_HMI_Automation 6528

android ListView布局之三(使用自定义的Adapter绑定数据,通过contextView.setTag绑定数据)有按钮的ListView...

vlist2.xml代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" an...

angchanghui2104的博客 160

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【Android】ListView自定义Adapter

文章目录案例:商品列表一、创建列表单元模板二、使用bean封装单个商品三、自定义Adapter适配器四、启用Activity五、修改主程序六、运行 在开发中,我们经常使用到ListView这个控件。 Android 的API也提供了许多创建ListView适配器的快捷方式。例如 ArrayAdapter、SimpleAdapter和SimpleCursorAdapter 等。但你是否发现,如果采用这些系统自带的适配器,对于事件的响应只能局限在一个行单位。假设一行里面有一个按钮和一个图片控件,它们之间的响.

懂得一千零一种,赋予你失败的方法! 2249

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

adapter里获取context的方法

as

weixin_52110757的博客 897

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

通过适配器给AdapterView绑定数据

使用AdapterView来绑定数据 AdapterView是一个ViewGroup子类, 它的子View是有一个Adapter决定的, 而该Adapter绑定某种类型的数据. AdapterView在你希望显示储存的数据(相对于资源字符串或者图片)时比较有用. Gallery, ListView, 和 Spinner是AdapterView子类的例子, 你可以使用它们绑定特定类型的数...

stark_summer 345

Android Context 详解

Context是一个抽象基类。在翻译为上下文,是提供一些程序的运行环境基础信息。Context下有两个子类,是上下文功能的封装类(起到方法传递的作用,主要实现还是ContextImpl),而则是上下文功能的实现类。又有三个直接的子类,Service和。其中,是一个带主题的封装类,所说的主题就是指在AndroidManifest.xml中通过android:theme为Application元素或者Activity元素指定的主题,而它有一个直接子类就是Activity,所以Activity和Service。

Android 领域开发程序员,希望通过写博客的方式不断的总结提升自己,大家共同进步哦! 2672

关于android中listview-adapter的viewholder及settag的探究

引言今天无意中翻看项目代码,发现有一个list-adapter没有使用viewholder也没有使用settag、gettag,心里很紧张,这个页面使用频率很高,如果oom可不好。奇怪,为什么没有测试和我反映呢?分析问题项目里使用了网络上的一个ViewFindUtils类,里面有一个hold方法和一个find方法,我的listview中只调了find方法,find方法里只是一个findviewbyi

邵磊的博客 1527

android 中自定义安装,Android开发中ListView自定义adapter的封装

【引入】我们一般编写listView的时候顺序是这样的:•需要展示的数据集List•为这个数据集编写一个ListView•为这个ListView编写一个Adapter,一般继承自BaseAdapter•在BaseAdapter内部编写一个ViewHolder类,对应ListView里面的item控件,提高控件的查询效率分析:List:ListView --> Adapter extends ...

weixin_35625739的博客 370

android自定义ListView与Adapter

练习一个简单的多元素ListView

robinfoxnan的专栏 1270
上一篇: android ListView布局之二(是用simpleAdapter绑定数据)
下一篇: 虞美人(纳兰性德)凄凉别后两应同,最是不胜清怨月明中
chenzheng_java
博客等级 码龄17年 436粉丝 106原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值