android ListView单选功能

在Adapter  getView内部实现控制。

private int selectPosition =-1;
	class PayAdapter extends BaseAdapter{

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return payList==null?0:payList.size();
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return payList.get(position);
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public View getView(final int position, View convertView, ViewGroup parent) {
			ViewHolder holder = null;
			if(convertView == null){
				convertView = LayoutInflater.from(context).inflate(R.layout.pay_listview_item_layout,
						null);
				holder = new ViewHolder();
				holder.image = (ImageView) convertView.findViewById(R.id.pay_bank_icon_imageview);
				holder.title = (TextView) convertView.findViewById(R.id.pay_bank_title_textview);
				holder.description = (TextView) convertView.findViewById(R.id.pay_bank_description_textview);
				holder.radio = (RadioButton) convertView.findViewById(R.id.pay_select_radiobtn);
				convertView.setTag(holder);
			}else{
				holder = (ViewHolder) convertView.getTag();
			}
			Pay pay = (Pay) getItem(position);
			holder.image.setImageResource(getResources().getIdentifier(pay.getImage(),
					"drawable", context.getPackageName()));
			holder.title.setText(pay.getTitle());
			holder.description.setText(pay.getDescription());
			holder.radio.setOnCheckedChangeListener(new OnCheckedChangeListener() {

				@Override
				public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
					if(isChecked){
						selectPosition = position;
					}
					notifyDataSetChanged();
				}
			});
			if(selectPosition==position){
				holder.radio.setChecked(true);
			}else{
				holder.radio.setChecked(false);
			}
			if(position==0){
				holder.radio.setChecked(true);
			}
			return convertView;
		}

	}

	class ViewHolder{
		ImageView image;
		TextView title;
		TextView description;
		RadioButton radio;
	}
时间: 2024-08-18 23:09:17

android ListView单选功能的相关文章

Android ListView单选CheckBox

思路 1触发事件setOnItemClickListener改变CheckBox 2在适配器的getView()里改变CheckBox状态,需要记录选中的CheckBox位置 3适配器提供方法改变CheckBox 4用notifyDataSetChanged启动getView() 实现代码 //适配器 public class MyAdapter extends BaseAdapter { // 填充数据的list private ArrayList<Map<String, Object>

Android ListView条目全选功能,不用checkbox实现!

大家好,翻了翻以前的笔记,发现了一个我特别标记的功能,那就是ListView全选功能,顿时想起了我那个时候苦逼的生涯,由于我大学机械出身,大学毕业了都不知道什么叫代码,在58干了一段销售.实在是干不下去了,不干了就得在网上找工作,就喜欢干电脑相关的工作,有一天,一家培训机构给我打来电话让我去面试,我以为让我去工作那,谁知道是忽悠我去培训,我当然不可能花钱了,就直接回去了,想了几天,除了销售我真不知道干啥,咬咬牙,就花钱培训了.我擦,咋说这到了,不跟你们说了,还是写下面的这个功能吧,虽然很简单,但

C# winform项目中ListView控件使用CheckBoxes属性实现单选功能

在做项目时需要使用ListView控件的CheckBoxes属性显示,还要在点击行时自动选中CheckBoxes和点击选中CheckBoxes时自动显示正行选中状态的单选功能. 效果图: 主要利用两个事件:listView1_ItemCheck和listView1_SelectedIndexChanged事件. 上代码: [csharp] view plain copy print? private void listView1_ItemCheck(object sender, ItemChec

[Android分享] 【转帖】Android ListView的A-Z字母排序和过滤搜索功能

感谢eoe社区的分享 最近看关于Android实现ListView的功能问题,一直都是小伙伴们关心探讨的Android开发问题之一,今天看到有关ListView实现A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能,转帖来和eoe的小伙伴们一同分享下! Android 有关ListView实现A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能 我们知道一般我们对联系人,城市列表等实现A-Z的排序,因为联系人和城市列表我们可以直接从数据库中获取他的汉字拼音,而对于一般的数据,我们怎么实现A

ListView单选的实现总结(转)

今天在智能停车场项目中需要实现PullToRefreshListView的单选功能,考虑到分页,刷新等,以前的实现方式是采用自己维护一个集合保存选中位置的选中状态,但这个方式比较繁琐,今天采用了listview的单选模式 listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);来实现: ListView是通过实现Checkable接口来处理单选模式的,这要求Item的视图实现Checkable接口,创建ChoiceListItemView类来实现该

ListView单选的实现总结

今天在智能停车场项目中需要实现PullToRefreshListView的单选功能,考虑到分页,刷新等,以前的实现方式是采用自己维护一个集合保存选中位置的选中状态,但这个方式比较繁琐,今天采用了listview的单选模式 listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);来实现: ListView是通过实现Checkable接口来处理单选模式的,这要求Item的视图实现Checkable接口,创建ChoiceListItemView类来实现该

Android listview与adapter用法

listview与adapter用法 博客分类: android 一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView就是实现这个功能的.第二点也不难做到,在后面的学习中读者会发现,这非常简单. 一个ListView的创建需要3个元素. (1)ListView中的每一列的View. (2)填入View的数据或者图片等. (3)连接数据与ListView的适配器. 也就是说,要使用ListView,首先要了解什么是适配器

Android ListView OnItemLongClick和OnItemClick事件内部细节分享以及几个比较特别的属性

本文转自 http://blog.sina.com.cn/s/blog_783ede030101bnm4.html 作者kiven 辞职3,4个月在家休息,本以为楼主要程序员逆袭,结果失败告终继续码农生涯今天开始更新博客. 正文. 项目中有个ListView内容比较复杂现在要添加长按删除功能.楼主自然想到利用ListView的onItemLongClick事件来处理.结果可想而知在实际体验中很不好,会出现失灵有些选项能触发onItemLongClick事件有些却没反应.楼主去网上看了都是focu

Android ListView 和 Adapter 从本地/网络获取歌曲列表

本文内容 环境 项目结构 演示1:SimpleAdapter 演示2:BaseAdapter 演示3:customlazylist 演示4:customcompletelazylist 本文只给出演示概要,代码太多,贴出来意义不大,自己下载调试一下,点击此处下载. 本文通过四个示例,循序渐进地演示,将歌曲列表加载到 ListView 控件,歌曲列表,包括缩略图.歌手名.歌曲名等信息,或存放在本地,或以 JSON 形式存放在网络. 环境 Windows 2008 R2 64 位 Eclipse A