android listview 多个button,Android实现LIstView条目单选和多选RadioButton

先看效果

17e4d6e0ba19

ListView的布局android:choiceMode="singleChoice"

android:background="#fff"

android:layout_marginTop="5dp"

android:id="@+id/listview_template"

android:layout_above="@id/ll"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

其中choiceMode的属性很重要 选择模式.再没有发现这个属性的时候,我们一般会把选中的添加到一个Map中(position,true或false),然后在取出值进行判断是否有选中,

ListView的选择模式有4中分别是

1,CHOICE_MODE_NONE普通模式

2,CHOICE_MODE_SINGIE单选模式

3,CHOICE_MODE_MULTIPLE多选模式

4,CHOICE_MODE_MULTIPLE_MODAL多选模式

也可以在代码中设置这4个属性值

mListView.setChoiceMode(ListView.CHOICE_MODE_SINGIE);

下面是item的布局里面包含一个RadioButton

getView方法@OverridepublicViewgetView(final intposition,View convertView,ViewGroup parent) {

if(convertView ==null) {

convertView = View.inflate(SelectWatermarkActivity.this,R.layout.view_template, null);

}

TextView name = (TextView) convertView.findViewById(R.id.template_name);

finalRadioButton radioButton = (RadioButton) convertView.findViewById(R.id.chickbutton);

if(selectPosition== position) {

radioButton.setChecked(true);

}else{

radioButton.setChecked(false);

}

TemplateBean.ResponseBean bean =mResponse.get(position);

name.setText(bean.getTemplateName());

returnconvertView;

}

其中selectPosition是用户选择条目的变量

再用户点击条目的时候进行初始化@Overridepublic voidonItemClick(AdapterView parent,View view, intposition, longid) {

selectPosition= position;

mAdapter.notifyDataSetChanged();

}

好了使用choiceMode属性可以很简单的实现单选和多选功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值