基本上,在一个片段中,我有3个切换按钮,因此我决定我的接口应该实现OnCheckedChange。这些按钮是:date按钮、time按钮和now按钮。
工作流程如下:
按下date,将日期图像更改为活动,检查是否按下time,检查mark是否活动time,将日期图像更改为活动,检查date是否按下,检查mark是否活动。
按下now,date和time将不处于活动状态,但选中标记会激活。我所做的是:
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
switch (buttonView.getId()) {
case R.id.select_date_button: {
DialogFragment datePicker = new DatePickerFragment();
datePicker.setTargetFragment(CheckinNow.this, 100);
datePicker.show(getActivity().getSupportFragmentManager(), "datePicker");
date_image.setBackgroundResource(R.drawable.btn_calendar_active);
break;
}
case R.id.select_time_button: {
DialogFragment timePicker = new TimePickerFragment();
timePicker.setTargetFragment(CheckinNow.this, 100);
timePicker.show(getActivity().getSupportFragmentManager(), "timePicker");
time_image.setBackgroundResource(R.drawable.btn_time_active);
}
case R.id.now_button: {
now_button.setBackgroundResource(R.drawable.btn_now_with_text_active);
checkin_button_done.setBackgroundResource(R.drawable.btn_checkmark_active);
time_image.setBackgroundResource(R.drawable.btn_time);
date_image.setBackgroundResource(R.drawable.btn_calendar);
}
default:
break;
}我的问题是,当date和time也被按下或相反的情况下,我如何检查?
当然,我可以为每个按钮分别设置一个OnCheckedChanged,但如果可能的话,我更喜欢这个解决方案。
发布于 2014-11-12 10:21:01
把你的按钮用
ToggleButton dateButton = (ToggleButton) findViewById(R.id.select_date_button);如果您需要检查是否检查了一个按钮,只需打电话。
if (dateButton.isChecked()) {
//Do some stuff
}希望这能有所帮助!
https://stackoverflow.com/questions/26884379
复制相似问题