listView 单选实现
- public class SingleView extends LinearLayout implements Checkable {
- private TextView mText;
- private CheckBox mCheckBox;
- public SingleView(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- initView(context);
- }
- public SingleView(Context context, AttributeSet attrs) {
- super(context, attrs);
- initView(context);
- }
- public SingleView (Context context) {
- super(context);
- initView(context);
- }
- private void initView(Context context){
- // 填充布局
- LayoutInflater inflater = LayoutInflater.from(context);
- View v = inflater.inflate(R.layout.item_single_layout , this, true);
- mText = (TextView) v.findViewById(R.id. title);
- mCheckBox = (CheckBox) v.findViewById(R.id. checkbox);
- }
- @Override
- public void setChecked( boolean checked) {
- mCheckBox.setChecked(checked);
- }
- @Override
- public boolean isChecked() {
- return mCheckBox.isChecked();
- }
- @Override
- public void toggle() {
- mCheckBox.toggle();
- }
- public void setTitle(String text){
- mText.setText(text);
- }
- }
- public class MainActivity extends Activity {
- private ArrayList<String> groups;
- private ListView listView;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout. activity_main);
- listView = (ListView) findViewById(R.id. listView);
- groups = new ArrayList<String>();
- groups.add( "11");
- groups.add( "22");
- groups.add( "33");
- groups.add( "44");
- groups.add( "55");
- groups.add( "66");
- groups.add( "77");
- groups.add( "88");
- groups.add( "99");
- groups.add( "00");
- SingleAdapter singleAdapter = new SingleAdapter();
- listView.setAdapter(singleAdapter);
- Button button = (Button) findViewById(R.id. button);
- button.setOnClickListener( new OnClickListener() {
- @Override
- public void onClick(View v) {
- PickNum();
- }
- });
- }
- private void PickNum() {
- int position = listView.getCheckedItemPosition();
- if (ListView. INVALID_POSITION != position) {
- Toast. makeText(MainActivity.this, groups.get(position), 0).show();
- }
- }
- private class SingleAdapter extends BaseAdapter {
- @Override
- public int getCount() {
- return groups.size();
- }
- @Override
- public Object getItem( int position) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public long getItemId( int position) {
- // TODO Auto-generated method stub
- return 0;
- }
- @Override
- public View getView( final int position, View convertView,
- ViewGroup parent) {
- final SingleView singleView = new SingleView(MainActivity.this );
- singleView.setTitle( groups.get(position));
- return singleView;
- }
- }
- }
http://download.csdn.net/detail/knxw0001/7961143
listView 单选实现的更多相关文章
- ListView单选的实现总结(转)
今天在智能停车场项目中需要实现PullToRefreshListView的单选功能,考虑到分页,刷新等,以前的实现方式是采用自己维护一个集合保存选中位置的选中状态,但这个方式比较繁琐,今天采用了lis ...
- 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 ...
随机推荐
- javascript 高级程序设计学习笔记(面向对象的程序设计)继承
ECMAScript中描述了原型链的概念,原型链是实现继承的主要方法. 实现原型链继承有一种基本模式 function SuperType () { this.property = true; } S ...
- C++_基础_C与C++的区别
内容: (1)C++简介和编程的基本变化 (2)命名空间的概念和使用 (3)结构体.联合.枚举的不同 (4)布尔类型 以及 运算符别名 (5)函数的重载.缺省参数.哑元以 及内联 1.简介和编程的基本 ...
- windows8开发学习笔记
XAML行列定义 <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> &l ...
- $ cd `dirname $0` 和PWD%/* shell变量的一些特殊用法
在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的.因为他返回当前路径的".". $0:当前Shell程序的文件名dirname $0,获取当前Shell程序 ...
- 导出kettle数据转换设置
在本地测试好的数据清洗配置,要转移到服务器上,就要用到导出数据转换设置. 一直是这使用是在导入设置的 时候总是提示不是kettle的文档格式.后来才发现这是资源库的配置,而不是数据转 换的配置. 导出 ...
- js循环遍历
//获取多个用户id 一般用在复选框 cust_id = 1,2,3,4; var str = cust_id.split(","); for (var key ...
- Web服务器和动态语言如何交互--CGI&FastCGI&FPM浅谈
一个用户的Request是如何经过Web服务器(Apache,Nginx,IIS,Light)与后端的动态语言(如PHP等)进行交互并将结果返回给用户的呢? 本文浅谈个人观点,可能有误,欢迎拍砖,共同 ...
- NHbiernate 配置
1.从网上下载NHibernate 4.0 文件.下载地址:https://sourceforge.net/projects/nhibernate/ 2.解压后把 NHibernate.dll文件引用 ...
- linux上应用随机启动
这是个go项目,其他的可以参考. 首先要有个脚本比如demo #!/bin/bash # # etcd This shell script takes care of starting and sto ...
- cf467B Fedor and New Game
B. Fedor and New Game time limit per test 1 second memory limit per test 256 megabytes input standar ...