为了账号安全,请及时绑定邮箱和手机立即绑定

在Android上滚动listview时,复选框未选中

在Android上滚动listview时,复选框未选中

牧羊人nacy 2019-09-02 20:32:22
我是Android开发的新手。我listview用a textbox和创建了一个checkbox。当我检查checkbox并向下滚动以检查列表视图中的其他项目时,将取消选中较旧的项目。我如何避免这个问题listview?请引导我使用我的代码。这是代码:main.xml中:<?xml version="1.0" encoding="utf-8"?><LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent">    <TextView        android:id="@+id/TextView01"        android:layout_height="wrap_content"        android:text="List of items"        android:textStyle="normal|bold"        android:gravity="center_vertical|center_horizontal"        android:layout_width="fill_parent"/>    <ListView        android:id="@+id/ListView01"        android:layout_height="250px"        android:layout_width="fill_parent"/>    <Button        android:text="Save"        android:id="@+id/btnSave"        android:layout_width="wrap_content"        android:layout_height="wrap_content"/></LinearLayout>这是我用来创建动态列表行的XML页面:listview.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_height="wrap_content"    android:gravity="left|center"    android:layout_width="wrap_content"    android:paddingBottom="5px"    android:paddingTop="5px"    android:paddingLeft="5px">    <TextView        android:id="@+id/TextView01"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:gravity="center"        android:textColor="#FFFF00"        android:text="hi"/>    <TextView        android:text="hello"        android:id="@+id/TextView02"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="10px"        android:textColor="#0099CC"/></LinearLayout>这是我的活动课。请帮我解决这个问题。我在很多地方都提到了这个问题。但我无法得到正确答案来解决这个问题。请提供代码以避免在向上和向下滚动时取消选中复选框。
查看完整描述

3 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

在自定义listview适配器中,调用setOnCheckedChangeListener 之后调用setChecked 。

这样,您可以从循环视图中切断与旧侦听器的链接。


查看完整回答
反对 回复 2019-09-02
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

大段引用


**在Side getView()方法中只需调用>>


check.setOnCheckedChangeListener(new OnCheckedChangeListener() {


            @Override

            public void onCheckedChanged(CompoundButton arg0, boolean arg1) 

            {


                if(check.isChecked())

                {

                    //checked

                    chkArray[position]=true;

                }

                else

                {   //uncheck

                  chkArray[position]=false;


                }

            }

        });


//check condition for checkboxes

        if(chkArray.length>0)

        {

            for (int i = 0; i < chkArray.length; i++) 

            {

                if(chkArray[position]!=null && chkArray[position])

                {

                    check.setChecked(true);

                }

            }

        }


查看完整回答
反对 回复 2019-09-02
  • 3 回答
  • 0 关注
  • 605 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信