`
ForgetLove
  • 浏览: 23410 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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);
			}
		};

 

 

 

完成了。

上图:

  • 大小: 19.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics