使用android:drawableRight属性时,CheckBox的setSelected不起作用

3

我的 XML 布局中的复选框:

<CheckBox
                        android:id="@+id/cb1"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:layout_marginTop="15dp"
                        android:button="@null"
                        android:drawableRight="?android:attr/listChoiceIndicatorMultiple"
                        android:paddingLeft="6dp"
                        android:paddingRight="5dp"
                        android:text="Trending Stores"
                        android:textColor="@color/black"
                        android:textSize="18sp" />

在相关活动的onCreate()方法中:
CheckBox cb1 = (CheckBox) findViewById(R.id.cb1);
cb1.setSelected(true);

当我运行应用程序时,这不会显示所选状态,而是复选框未被选中。无法解决此问题。同时,我需要在右侧显示复选框,因此我使用了属性android:drawableRight。我尝试使用自定义的可绘制xml文件,但仍然陷入同样的问题。请帮忙。


我不明白你想要复选框放在屏幕的哪个位置?你能发一张截图或其他东西来说明你想要什么吗? - Raghunandan
1
cb1.setChecked(true); 试试这个 - Sushrita
1个回答

20

通常情况下,我们不会在CheckBox中使用setSelected

我认为你应该使用setChecked,除非你确切地知道使用setSelected要做什么。


1
也可以使用 android:checked="true" 在 XML 中实现。 - Raghunandan
是的,我使用了错误的方法...稍后找到了答案...但还是谢谢你的回复。 - FingerSmith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接