美文网首页
Android实现LIstView条目单选和多选RadioBut

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

作者: supter川 | 来源:发表于2017-11-27 16:29 被阅读0次

    先看效果

    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实现LIstView条目单选和多选RadioBut

          本文链接:https://www.haomeiwen.com/subject/myedbxtx.html