无法取消选中ListView Android中的单选按钮

时间:2016-01-03 17:59:32

标签: android listview android-radiobutton

我是Android编程的新手,所以正好在以下问题之下:

我无法从Android中的ListView中取消选中元素的单选按钮。如果DB中的属性为true,则应选中单选按钮,如果为false,则应取消选中,但是onClick()方法中未识别当前选中的按钮,因此不会取消选中。< / p>

This is the following code from my CustomListAdapter:

或:

        mSelectedRB = holder.activeVCardRadioButton;
        if (contact.getStatus().equals(Status.ACTIVE.toString())) {
            mSelectedRB.setChecked(true);
            currentVCardId = contact.getId();
        }
        if(holder.activeVCardRadioButton != null) {
            holder.activeVCardRadioButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (position != mSelectedPosition && (mSelectedRB != null)) { 
                        mSelectedRB.setChecked(false);
                        mSelectedRB.setActivated(false);
                       kontaktenDataSource.inactivateVCard(currentVCardId);

                    }

                    mSelectedPosition = position;
                    mSelectedRB = (RadioButton) v;
                         kontaktenDataSource.activateVCard(contact.getId());
                    currentVCardId = contact.getId();
                    mSelectedRB.setChecked(true);
                }
            });

        }

这是放置radiobutton的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:padding="6dip" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="6dip"
        android:contentDescription="TODO"
        android:src="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/secondLine"
        android:layout_width="fill_parent"
        android:layout_height="26dip"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@id/icon"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:text="Description"
        android:textSize="12sp" />

    <TextView
        android:id="@+id/firstLine"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/secondLine"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_alignWithParentIfMissing="true"
        android:layout_toRightOf="@id/icon"
        android:gravity="center_vertical"
        android:text="Example application"
        android:textSize="16sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:id="@+id/status"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@id/icon"
        android:layout_below="@+id/secondLine"
        android:layout_marginRight="6dip"
        />

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:id="@+id/radioButton"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_gravity="right" />



</RelativeLayout>

在onClick()方法的第一个IF中,mSelectedRB.setChecked(false);工作不正常,我不明白为什么! 如果有人可以提出一些建议,我会很高兴的!

谢谢, 玛利亚。

0 个答案:

没有答案