Android之使用SimpleAdapter为listview添加数据并添加复选框或按钮

经过度娘的法力,还有不断的尝试。终于,使用SimpleAdapter为listview的数据源来添加复选框和按钮实现了。

很多人都是自定义一个adapter继承自baseadapter的。当时刚开始使用的是SimpleAdapter,再写继承感觉很麻烦,改动很大。

经过不懈的努力,最终,添加了一些代码,使得想要的得以出现。分享了:

首先listview。xml文件。这里就不写全了,前面有篇文章里面有全的。

添加复选框

<CheckBox 
    android:id="@+id/listDeleteCheckBox"
    android:layout_width="30px"
 android:layout_height="wrap_content"
 android:focusable="false"              ---如果想要实现单击item监听,并且实现复选框监听,必须设置此行
 android:visibility="visible"           --visible  显示复选框,gone隐藏并且不占位置
 android:clickable="true"
    />

 

下面是java代码,我继承的是原生态的activity

 

 

声明一个button就不写了

oncreate方法

deleBox = (CheckBox)findViewById(R.id.listDeleteCheckBox);

sAdapte = new SimpleAdapter(MainActivity.this, data, R.layout.listview, new String[]{"id","firstName","lastName","email"},
				new int[]{R.id.ids,R.id.firstName,R.id.lastName,R.id.email}){
			@Override
			public View getView(final int position, View convertView,ViewGroup parent) {
				//获取相应的view中的checkbox对象
				if(convertView == null)
					convertView = View.inflate(MainActivity.this, R.layout.listview, null);
				CheckBox checkBox = (CheckBox)convertView.findViewById(R.id.listDeleteCheckBox);
				//添加单击事件,在map中记录
				//通过判断checkbox是否被选中来确定联系人是否被放在names和number两个数组中,或者使用CompoundButton.OnCheckedChangeListener
				checkBox.setOnClickListener(new View.OnClickListener() {
					
					@Override
					public void onClick(View v) {
						if(((CheckBox)v).isChecked()){
							Toast.makeText(MainActivity.this,"选中了"+position,0).show();
							System.out.println("-----------------");
						}else{
							
						}
					}
				});
				return super.getView(position, convertView, parent);
			}
		};

 

 

 

完成了。

上图:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值