Android实现LIstView条目单选和多选RadioButton

先看效果


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属性可以很简单的实现单选和多选功能

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,482评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,568评论 2 45
  • 在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自...
    丶萌面超人阅读 1,326评论 0 13
  • 努力找工作中,我在想自己跟别人的差距到底有多少? 我是一个受环境影响很大的人,所以我要尽力去走到好一点的环境中去。...
    爱chocolateyou阅读 261评论 0 1
  • DAY1 4-27 FRI 北京-南京 G113 8:50-13:07 6出口进地铁南京博物馆(明孝陵步行15-2...
    silicis阅读 412评论 0 1