ListView单选的实现总结(转)
今天在智能停车场项目中需要实现PullToRefreshListView的单选功能,考虑到分页,刷新等,以前的实现方式是采用自己维护一个集合保存选中位置的选中状态,但这个方式比较繁琐,今天采用了listview的单选模式
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);来实现:

package com.centrvideo.parkapp.adapter;
import java.util.List;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.centrvideo.parkapp.demain.ExportInfo;
public class ExportAdapter extends MyBaseAdapter<ExportInfo, ListView> {
public ExportAdapter(Context context, List<ExportInfo> list) {
super(context, list);
}
@Override
public View getView(int position, View covertView, ViewGroup group) {
ChoiceListItemView view;
if (covertView == null) {
view = new ChoiceListItemView(context, null);
} else {
view = (ChoiceListItemView) covertView;
}
ExportInfo exportInfo = list.get(position);
view.setData(exportInfo);
return view;
}
}

package com.centrvideo.parkapp.adapter;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CheckBox;
import android.widget.Checkable;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.centrvideo.parkapp.R;
import com.centrvideo.parkapp.demain.ExportInfo;
import com.centrvideo.parkapp.util.ImageLoaderUtils;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject; public class ChoiceListItemView extends LinearLayout implements Checkable { @ViewInject(R.id.listview_export_image)
private ImageView listview_export_image;
@ViewInject(R.id.listview_export_entrytime)
private TextView listview_export_entrytime;
@ViewInject(R.id.listview_export_number)
private TextView listview_export_number;
@ViewInject(R.id.listview_entry_time)
private TextView listview_entry_time;
@ViewInject(R.id.cb_export)
public CheckBox selectBtn;
private ImageLoaderUtils imageLoaderUtils;
public ChoiceListItemView(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.listview_export, this, true);
ViewUtils.inject(v);
imageLoaderUtils = ImageLoaderUtils.newInstance();
} public void setData(ExportInfo exportInfo) {
imageLoaderUtils.loadImage(exportInfo.getEntryimg(),
listview_export_image, R.drawable.cell_hold);
listview_export_entrytime.setText("入口时间:"
+ exportInfo.getEntrytime() + "");
listview_export_number.setText("车牌号码:"
+ exportInfo.getPlatenumber() + "");
listview_entry_time.setText("位置:" + exportInfo.getGatewayname()
+ "");
} @Override
public boolean isChecked() {
return selectBtn.isChecked();
} @Override
public void setChecked(boolean checked) {
selectBtn.setChecked(checked);
//根据是否选中来选择不同的背景图片
if (checked) {
selectBtn.setBackgroundResource(R.drawable.cheliangduibi_queding);
} else {
selectBtn.setBackgroundResource(0);
}
} @Override
public void toggle() {
selectBtn.toggle();
} }

//启用单选模式
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); //获得选中结果;通过listView.getCheckedItemPosition();//活动被选中的位置
case R.id.tv_titlebar_right:
if (CommonUtil.isFastDoubleClick()) {
return;
} int selectPosition = listView.getCheckedItemPosition();
CommonUtil.StartToast(ExportSureListActivity.this,"被选中的位置:"+selectPosition);
ExportInfo exportInfo = list1.get(selectPosition-1);//注意这里需要减1
CommonUtil.StartToast(ExportSureListActivity.this,"被选中的位置:"+exportInfo.toString());
// intent = new Intent(ExportSureListActivity.this,
// ChargeActivity.class);
// startActivity(intent);
break;
}

http://www.cnblogs.com/xiaoxiao-study/p/a1e1561444542d99b70e781be488f35e.html
ListView单选的实现总结(转)的更多相关文章
- listView 单选实现
上一篇知道可以使用android自带的listview的chiocemode的单选模式实现.但那个布局是系统自带的checkedTextView,有时候我们需要自己实现布局,那么下面我们开始实现 ...
- ListView 自己定义BaseAdapter实现单选打勾(无漏洞)
(假设须要完整demo,请评论留下邮箱) (眼下源代码已经不发送.假设须要源代码,加qq316701116.不喜勿扰) 近期由于一个项目的原因须要自己定义一个BaseAdapter实现ListVIew ...
- Android录屏命令、Android录Gif、Android录视频
NoHttp开源地址:https://github.com/yanzhenjie/NoHttp NoHttp具体使用文档已公布,你想知道的全都有,请点我移步! 版权声明:转载请注明本文转自严振杰的博客 ...
- Android在listview添加checkbox实现单选多选操作问题(转)
转自:http://yangshen998.iteye.com/blog/1310183 在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作.表面上 ...
- 本地数据下,radiobutton和图片组合,利用adapter+listview进行单选
浮生偷得半日闲,等接口定义的过程中,重新复习下adapter+listview实现单选的方法 主界面 <RelativeLayout xmlns:android="http://sch ...
- ListView 实现多选/单选
http://blog.csdn.net/ljfbest/article/details/40685327 ListView自身带了单选.多选模式,可通过listview.setChoiceMode来 ...
- 【转】ListView与RadioButton组合——自定义单选列表
原文网址:http://blog.csdn.net/checkin001/article/details/11519131 Android自带的RadioButton单选框只支持添加文字,我们自己写A ...
- ListView与RadioButton组合——自定义单选列表
标签: radiobuttonlistviewandroidlayout 2013-09-10 11:13 19396人阅读 评论(8) 收藏 举报 分类: Android(19) 版权声明: ...
- C# winform项目中ListView控件使用CheckBoxes属性实现单选功能
C# winform项目中ListView控件使用CheckBoxes属性实现单选功能 在做项目时需要使用ListView控件的CheckBoxes属性显示,还要在点击行时自动选中CheckBoxes ...
随机推荐
- Red Gate系列之七 SQL Search 1.1.6.1 Edition SQL查询分析工具使用教程
原文:Red Gate系列之七 SQL Search 1.1.6.1 Edition SQL查询分析工具使用教程 Red Gate系列之七 SQL Search 1.1.6.1 Edition SQL ...
- Recall(检出率)和 Precision(准确性)
这两个方面是模式识别和信息检索使用措施值. 浅显易懂的理解,用以下的图片和公式最好只是. 那么 - 召回率R:用检索到相关文档数作为分子.全部相关文档总数作为分母.即R = A / ( A + C ) ...
- Python在信号与系统(1)——Hilbert兑换,Hilbert在国家统计局的包络检测应用,FIR_LPF滤波器设计,格鲁吉亚也迫使高FM(PM)调制
谢谢董老师,董老师是个好老师. 心情久久不能平静,主要是高频这门课的分析方法实在是让我难以理解,公式也背只是,还是放放吧. 近期厌恶了Matlab臃肿的体积和频繁的读写对我的Mac的损害,所以学习了一 ...
- 实现app上对csdn的文章列表上拉刷新下拉加载以及加入缓存文章列表的功能 (制作csdn app 四)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/23698511 今天继续对我们的csdn客户端未完成的功能进行实现,本篇博客接着客 ...
- Principle使用教程
本次分享主要有以下几点内容: 1.初识界面2.两个关键操作3.案例一:滑动4.案例二:点击跳转 5.案例三:跟随动画(抽屉效果) 1初识界面Principle的界面与Sketch基本一致,如下图: a ...
- Android - 和其他APP交互 - 获得activity的返回值
启用另一个activity不一定是单向的.也可以启用另一个activity并且获得返回值.要获得返回值的话,调用startActivityForResult()(而不是startActivity()) ...
- Linux鸟哥的私房菜(3)— 总体规划和磁盘分区 读书笔记
1.每个硬件设备Linux中的文件名称 在Linux系统中.每一个设备都被当成一个文件来对待.而且差点儿全部的硬件设备文件都在/dev文件夹下 常见设备与其对于文件名称 2.磁盘连接的方式与设备文件名 ...
- dlmalloc 2.8.6 源代码具体解释(6)
本文章由vector03原创, 转载请注明出处. 邮箱地址: mmzsmm@163.com, 欢迎来信讨论. 3.4 sys_alloc sys_alloc是dlmalloc中向系统获取内存的主要接口 ...
- Android-Service组件
转载请标明出处:http://blog.csdn.net/goldenfish1919/article/details/40381109 原文:http://developer.android.com ...
- 【cocos2d-x】尝鲜 Cocos Code IDE(不断更新)
Cocos Code IDE 是一个基于 Eclipse 的跨平台 IDE ,专门为 cocos2d lua & js 开发者准备,通过此工具.你能够方便的创建游戏project.编写而且调试 ...