0

基本上在一个片段中,我有 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为每个按钮单独设置一个,但如果可能的话,我更喜欢这个解决方案。

4

1 回答 1

1

如何存储你的按钮

ToggleButton dateButton = (ToggleButton) findViewById(R.id.select_date_button);

然后,如果您需要检查一个按钮是否被选中,只需调用

if (dateButton.isChecked()) {
//Do some stuff
}

希望这可以帮助!

于 2014-11-12T10:21:01.800 回答