Android 单选按钮点击&;重选
我有一个Android单选按钮组。 当选择项目时,我接收事件。目前为止一切正常。 但是,如果用户单击一个已经选择的项目,我不会得到该事件。 是否有方法知道(接收事件)用户何时点击单选按钮(无论是否选中)?Android 单选按钮点击&;重选,android,radio-button,Android,Radio Button,我有一个Android单选按钮组。 当选择项目时,我接收事件。目前为止一切正常。 但是,如果用户单击一个已经选择的项目,我不会得到该事件。 是否有方法知道(接收事件)用户何时点击单选按钮(无论是否选中)? 非常感谢。通过在按钮上设置一个OnClickListener()。我不明白为什么单击一个已选中的单选按钮时会出现事件, 但是如果你想取消选择一个单选按钮,点击它,如果它已经被选中了!! 检查此代码,它可以帮助您: RadioGroup radioGroup; RadioButton radio
非常感谢。通过在按钮上设置一个
OnClickListener()
。我不明白为什么单击一个已选中的单选按钮时会出现事件,
但是如果你想取消选择一个单选按钮,点击它,如果它已经被选中了!!
检查此代码,它可以帮助您:
RadioGroup radioGroup;
RadioButton radioButton1;
RadioButton radioButton2;
RadioButton radioButton3;
boolean hack = false;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
radioGroup = (RadioGroup) findViewById(R.id.rg);
radioButton1 = (RadioButton) findViewById(R.id.r1);
radioButton2 = (RadioButton) findViewById(R.id.r2);
radioButton3 = (RadioButton) findViewById(R.id.r3);
OnClickListener radioClickListener = new OnClickListener()
{
public void onClick(View v)
{ //The first codition check if we have clicked on an already selected radioButton
if (v.getId() == radioGroup.getCheckedRadioButtonId() && hack)
{
radioGroup.clearCheck();
}
else
{
hack = true;
}
}
};
OnCheckedChangeListener radioCheckChangeListener = new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
hack = false;
}
};
radioButton1.setOnCheckedChangeListener(radioCheckChangeListener);
radioButton2.setOnCheckedChangeListener(radioCheckChangeListener);
radioButton3.setOnCheckedChangeListener(radioCheckChangeListener);
radioButton1.setOnClickListener(radioClickListener);
radioButton2.setOnClickListener(radioClickListener);
radioButton3.setOnClickListener(radioClickListener);
}
Hope this wil help
在我的例子中,我想得到回调,因为我想启动一个活动事件,该项目已经被选中。