【发布时间】:2014-01-13 06:35:06
【问题描述】:
这是我的代码:
RadioButton daysAsCustomerRadio = (RadioButton)view.findViewById(R.id.days_as_customers_radio);
daysAsCustomerRadio.setOnClickListener(new RadioButtonHandler());
//Action Listener for the Radio Button
private class RadioButtonHandler implements OnClickListener
{
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
RadioButton checkedButton = (RadioButton)view.findViewById(view.getId());
Log.d("CHECKED_STAT", "Button stat: "+daysAsCustomerRadio.isChecked());
Log.d("CHECKED_STAT_1", "Button stat: "+checkedButton .isChecked());
if(checkedButton.isChecked())
{
checkedButton.setChecked(false);
}
else
{
checkedButton.setChecked(true);
}
}
}
我想做的是这个。
- 如果用户单击了选中的单选按钮,则取消选中它。
- 如果用户单击了取消选择的单选按钮,则选择它。
但情况是,单选按钮状态始终为true,即使未选中单选按钮也是如此。我什至尝试在 onCreateView() (这是一个 Fragment 类)中首先将其设置为 false,但仍然是相同的结果。
这是为什么?
PS。没有RadioGroups,也不能添加。
【问题讨论】:
-
把这行
RadioButton checkedButton = (RadioButton)view.findViewById(view.getId());改成RadioButton checkedButton = (RadioButton)view; -
使用复选框而不是单选按钮。单选按钮应在组中使用,并且在所选组中始终有一个。
-
@Henry:我不能。我有一个可以使用的线框
-
我会和设计师谈谈。这个用例的 UI 元素是错误的。
-
请查看更新答案
标签: java android user-interface android-fragments radio-button