Android开发ListView嵌套ImageView实现单选按钮
做Android开发两年的时间,技术稍稍有一些提升,刚好把自己实现的功能写出来,记录一下,如果能帮助到同行的其他人,我也算是做了件好事,哈哈!!废话不多说,先上个图。

先上一段代码:
 if (lastposition == position){
                     viewHolder.setImageResource(R.id.iv_yuandian1,R.mipmap.ic_button_checked);
                 } else {
                     viewHolder.setImageResource(R.id.iv_yuandian1,R.mipmap.ic_button_unchecked);
                 }
我先在Adapter中记录一下默认的位置,因为本人在项目中搭建了一个ListViewAdapter的抽象类,所以每次在使用时只需要直接在Activity中new一下,然后直接在方法里面设置文本内容或者图片资源(如上面的代码的写法),以后会跟大家分享这个抽象类,当然,这个抽象类还是在高手的指导下完成的,大伙可以忽略我这种写法,就按照正常的BaseAdapter上面写就行了。扯远了,说回主题。其实整个功能的主要部分在ListView的Item点击事件中,其主要代码如下:
 lv_choosecompany.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
                 //把当前选中的条目加上选中效果
                 old_imageView = (ImageView) view.findViewById(R.id.iv_yuandian1);
                 old_imageView.setImageResource(R.mipmap.ic_button_checked);
                 new_imageView = (ImageView)view.findViewById(R.id.iv_yuandian1);
                 if (lastposition != -1 && lastposition != position){
                     //如果已经单击过条目并且上次保存的item位置和当前位置不同
                     new_imageView.setImageResource(R.mipmap.ic_button_unchecked);//把上次选中的样式去掉
                 }
                 new_imageView = old_imageView;//把当前的条目保存下来
                 lastposition = position;//把当前的位置保存下来
                 listViewAdapter.notifyDataSetChanged();
             }
         });
整体流程差不多就是这个样子,如果想保留选中以后的文本信息,只需要在点击的时候,将TextView的内容保存下来即可,这里就不在展示代码,不足的地方还请同行们多多指教。
Android开发ListView嵌套ImageView实现单选按钮的更多相关文章
- Android开发——ListView使用技巧总结(一)
		)还有一点就是要控制异步任务的执行频率,因为当用户频繁的上下滑动,会瞬间产生上百个异步任务,会带来无意义的大量的UI更新操作,因此可以考虑在列表滑动时停止进行异步任务,直到列表停下来. //判断列表的 ... 
- Android开发——ListView使用技巧总结(二)
		0. 前言 Android中的ListView是用的比较多的控件之一,在上一篇Android开发--ListView使用技巧总结(一)中对ListView的ViewHolder机制.优化卡顿方式以及 ... 
- android 开发-ListView与ScrollView事件冲突处理(事件分发机制处理)
		ListView和ScrollView都存在滚动的效果,所以一般不建议listView和scrollView进行嵌套使用,但有些需求则需要用到两者嵌套.在android的学习中学了一种事件分发处理机制 ... 
- ★android开发--ListView+Json+异步网络图片加载+滚动翻页的例子(图片能缓存,图片不错乱)
		例子中用于解析Json的Gson请自己Google下载 主Activity: package COM.Example.Main; import java.util.HashMap; import ja ... 
- Android开发-Listview中显示不同的视图布局
		1. 使用场景 在重写ListView的BaseAdapter时,我们常常在getView()方法中复用convertView,以提高性能.convertView在Item为单一的同种类型布局时,能够 ... 
- Android开发 ListView(垂直滚动列表项视图)的简单使用
		效果图: 使用方法: 1.在布局文件中加入ListView控件: <?xml version="1.0" encoding="utf-8"?> &l ... 
- Android中ListView嵌套进ScrollView时高度很小的解决方案
		package com.example.test.util; import android.view.View; import android.view.ViewGroup; import andro ... 
- Android开发ListView使用OnScrollListener实现分页加载数据
		上篇博文和大家分享了下拉刷新,这是一个用户体验很好的操作方式.新浪微薄就是使用这样的方式的典型. 还有个问题,当用户从网络上读取微薄的时候.假设一下子所有载入用户未读的微薄这将耗费比較长的时间,造成不 ... 
- android 开发-ListView列表显示控件的实现
		列表的显示需要三个元素: 1.ListVeiw 用来展示列表的View. 2.适配器 用来把数据映射到ListView上的中介. 3.数据 具体的将被映射的字符串,图片,或者基本组件. 根据列表 ... 
随机推荐
- O(n^2) 级别的排序算法
			o(n^2) 的排序算法.性能那么差,为什么还要学习? 首先,它是基础,千里之行,始于足下.它编码简单,容易实现,是一些简单情景的首选,它能给我们的问题一个暴力的解法,这样的解法也许不是最优的,但是它 ... 
- ThinkCMF Foreach标签
			foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,例如: <foreach name="list" item="vo"> ... 
- js自定义对象 (转)
			原文地址:https://sjolzy.cn/js-custom-object.html 29 March 2010 9:53 Monday by 小屋 javascript进阶之对象篇 一,概述 在 ... 
- \\.\Global\vmx86: 系统找不到指定的文件
			使用vmware虚拟机时出现如下的错误: vmware安装无法打开内核设备 \\.\Global\vmx86: 系统找不到指定的文件 解决办法: 新建文件,将下面的代码拷贝进去: @Echo Off ... 
- ubuntu 18.04 修改 固定ip
			Linux(ubuntu)下固定IP的方法 写在前面,问:为什么要固定ip.答:要知道固定IP的好处多多,随意搬动,固定共享地址,不怕断网等等 首先,我们要选取一个局域网内的IP,方法如下: 1. ... 
- numpy-1
			NumPy数组 NumPy数组是一个多维数组对象,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的元数据 大部分操作仅针对于元数据,而不改变底层实际的数据. 关于NumPy数组有几点必 ... 
- POJ - 1080 枚举 / DP
			要求max{F/P},先枚举下界lowf,再贪心求符合约束条件的n个最小价值和 记录F的离散值和去重可以大幅度常数优化 (本来想着用DP做的) (辣鸡POJ连auto都Complie Error) # ... 
- ansys 有限元自学手册
			李兵.人邮2013.4 实体模型 –> 修正后划分 有限元网格 offset WP 偏移工作平面 模型的建立 将cT轮廓曲线 提取出来输入三维造型软件进行建模的方法,这种方法由于要对 ... 
- panda强化练习2
			In [1]: import pandas as pd import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sa ... 
- css 浮动元素居中
			方法一 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ... 
