复选框是否具有像单选按钮一样的权限。我正在开发一个测验应用程序,其中选项中有单选按钮的行为,选项的图标就像复选框一样,我是否可以分组我们将单选按钮分组的复选框?
答案 0 :(得分:22)
如果您想要看起来像复选框的单选按钮。将RadioButton的样式设置为@android:style/Widget.CompoundButton.CheckBox
e.g:
<RadioButton style="@android:style/Widget.CompoundButton.CheckBox" />
答案 1 :(得分:2)
我不知道这是否是最佳解决方案,但您可以为您的复选框创建“经理”,并在每次点击时运行它。
为简单起见,我在xml代码中添加了管理器,但也可以随意使用 setOnClickListener 或 setOnCheckedChangeListener 。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox1"
android:onClick="cbgroupmanager"
/>
...
<CheckBox
android:id="@+id/checkBox5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox5"
android:onClick="cbgroupmanager"/>
</LinearLayout>
您需要一个ArrayList来迭代,这样您就可以在每个复选框被点击时解决它们的状态。
public class Q6910875 extends Activity
ArrayList<CheckBox> cb = new ArrayList<CheckBox>();
int CheckBoxNum = 5; //number of checkboxes
Iterator<CheckBox> itr ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
cb.add((CheckBox) findViewById(R.id.checkBox1));
cb.add((CheckBox) findViewById(R.id.checkBox2));
cb.add((CheckBox) findViewById(R.id.checkBox3));
cb.add((CheckBox) findViewById(R.id.checkBox4));
cb.add((CheckBox) findViewById(R.id.checkBox5));
itr = cb.iterator();
}
在这里,我们有我们的经理,一个迭代器通过整个列表,取消检查所有内容,当它到达点击的那个,检查!
public void cbgroupmanager(View v) {
CheckBox cbaux;
while(itr.hasNext()) {
cbaux = (CheckBox) itr.next(); // we need this because it returns a Object, and we need the setChecked, which is a CheckBox method.
Log.d("soa", "click");
if (cbaux.equals(v)) //if its the one clicked, mark it as checked!
cbaux.setChecked(true);
else
cbaux.setChecked(false);
}
我也可以找到下面链接的其他解决方案,你可以更改复选框的主题,但我没有任何主题经验,所以我无法帮助你进一步研究这种方法。
Is it possible to change the radio button icon in an android radio button group
答案 2 :(得分:-1)
在radiabutton,我们可以做出唯一的决定。但是 复选框,我们可以有多个选项。
根据用途我们选择这些控件。
例如,
性别 - 男性o女性
这里我们只能选择一个选项
例如,
你感兴趣的游戏?
o cricket o football o valleyball o hockey