仍然在做项目!!!!彪悍的人生不需要解释,这回说说一个各路class互相调用的例子与一个cunsomlistview的结合用法
Customlistview 与 listview的区别呢,就在于listview 内部的内容是有模版的,我们不能自己随意的进行排版,但是customlistview内部是一堆的panel,既然是panel,那么我们就可以自己随便想加啥就加啥了
首先我们声明一个customlistview:
然后呢,来看看这货里面有啥函数:
我们这次要用到的就是add 这货了啊!
第一个是一个panel,第二个是高度,每个里面panel的高度,第三个就是我们添加的这个panel的一个标识符,就是当我们想要在这个customlistview里面找到某个panel的时候,就要利用到这个标识符了。
然后看!
这就是一个添加的函数了,这个adrlist呢,是一个map,从一个json中获得的map,传到了我们的另外一个函数,padaddr里面,
是不是有一股爆炸之感,其实呢就是用这个传进来的map,利用map里面的值,来造出来一个panel,然后加到customlistvie里,造出来是啥样呢:
就是这个样啊!这个只显示了一个项目呦,这就是各路APP里面的收货地址管理的一个制作办法,然后呢,我们就可以把map多一点,反正咱的是个循环,多来点,然后item就会变多了,你也许发现了,我们的panaddr函数里面的东西都是局部变量,那么我们想要根据我们点击了什么来获得那一个panel要怎么获得呢,可以通过customlistview自带的getpanel函数来获得,但是如果我们想要获取这个panel里面的某个东西怎么办,他们也没有一个全局的名字,当时我也是想了很久来着,后来就学习了哈
我们需要知道一个parent这样一个神奇的函数,返回的是这个item的parent:
看这货,你用这个圆圈的parent就是这个白色的panel
就是说我们可以直接根据这个panel上面的某个东西的点击事件获得我们的这个panel,看到那个黄色圆圈了吧!我们要在点击这货的时候把他变样,并且旁边的字也要变样!这是不是就麻烦了,如果只有一个圆圈,我们用那个一般按钮实现的radio按钮方法很简单就能解决,但是我们同时要找到旁边的字,懵逼了吧!
哈哈哈哈!!让我来告诉你!
这是我们想要的效果
我们在panaddr里面对于圆圈和文字都声明了tag和事件名,当然文字的暂时没啥用,在圆圈的点击事件里,
就这一些,我们首先获得圆圈的parent,就是那个panel,然后用一个函数,findviewbytag,这个函数是什么呢,
就这,在这个panel里,找到与我们想要的tag相同的那个view,由于我们在panel的每个东西的tag都不同,我们就能找到我们想要的文字啊,啥都行!在这里就是那个文字,相同的我们有有个img_hellp和lbl_help,来帮助我们取消上一个的选择,让他变成这个被选中,然后就完成了!!!!是不是有点意思哈,加油!
(本文为连刊,预知菜鸟的逆袭,请继续关注,直接扫描以下二维码并关注,便可查阅菜鸟逆袭全刊!加入我们,摇身一变“高富帅”“白富美”,掌握好技术,拿高薪、买房买车!走向人生巅峰!!!快来吧!!!)
由于上传附件及文字限制,有时部分图片、文字可能显示不了,详情请见:http://mp.weixin.qq.com/s?__biz=MzI5ODI3NzY2MA==&mid=100000421&idx=2&sn=f3339b1d2ee345063585829223c47896#rd
欢迎大家一起交流。
扫描以下二维码,获取更多更精美文章!(扫码关注有意向不到的惊喜的哦!!)
关注我们微信订阅号( uniguytech100) 与服务号(uniguytech),获取更多更精美文章!
也欢迎加入【大家技术网讨论QQ群】,群号码:256175955,请备注你个人的介绍!让我们一起聊聊it的那些事!