基本上在一个 fragment 中,我有 3 个切换按钮,因此我决定我的界面应该实现 OnCheckedChange。这些按钮是:日期
按钮、时间
按钮和现在
按钮。
工作流程如下:
date
被按下,日期图像更改为 Activity 状态,检查 time
是否被按下,检查 mark
是否 Activity
时间
被按下,日期图像变为 Activity 状态,检查日期
是否被按下,检查标记
是否 Activity
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
,但如果可能的话,我更喜欢这种解决方案。
最佳答案
如何使用
存储您的按钮ToggleButton dateButton = (ToggleButton) findViewById(R.id.select_date_button);
然后如果你需要检查某个按钮是否被选中,只需调用
if (dateButton.isChecked()) {
//Do some stuff
}
希望这有帮助!
关于java - 在 Java 中实现 OnCheckedChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26884379/