3
我在Android中有一個單選按鈕組。 我在選擇項目時收到事件。目前爲止正常。 但是,如果用戶點擊已經選擇的項目,我不會收到該事件。 當用戶點擊某個單選按鈕時,是否有辦法知道(接收一個事件),如果它被選中或沒有? 非常感謝。單選按鈕單擊和重播
我在Android中有一個單選按鈕組。 我在選擇項目時收到事件。目前爲止正常。 但是,如果用戶點擊已經選擇的項目,我不會收到該事件。 當用戶點擊某個單選按鈕時,是否有辦法知道(接收一個事件),如果它被選中或沒有? 非常感謝。單選按鈕單擊和重播
我不明白爲什麼在已經檢查的單選按鈕,單擊 時,你會得到一個事件,但如果你想通過取消選擇單選按鈕點擊它,如果它已被選中! 檢查這個代碼,它可以幫助你:
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
通過設置你的按鈕的OnClickListener()
...
在我的情況,我想獲得的回調,因爲我要開始該項目已被選中的活動事件。 –