There 2 ways to handle input events from user input
- Immediate: using listener
- At process: at the end to process data, usually user fire "process" button
TimePicker
1. Immediate
...
//on view created
// date picker
TimePicker myTimePicker = view.findViewById(R.id.my_time_picker);
myTimePicker.setOnTimeChangedListener(timeChangeListener);
...
// TimePicker Listeneer
private final TimePicker.OnTimeChangedListener timeChangeListener =
new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
// TODO
}
};
2. At process
// Pull the values exactly as they are right now
int hour = timePicker.getHour();
int minute = timePicker.getMinute();
RadioGroup
1. Immediate
...
//on view created
// date picker
RadioGroup radioSelectModeBackup = view.findViewById(R.id.radio_select_mode_backup);
radioSelectModeBackup.setOnCheckedChangeListener(radioListener);
...
// RadioGroup Listener
RadioGroup.OnCheckedChangeListener radioListener = new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(@NonNull RadioGroup radioGroup, int idSelected) {
if (idSelected==R.id.radio_weekly) {
// weekly
} else if (idSelected==R.id.radio_moonthly) {
// monthly
}
}
};
2. At process
// Inside your "Save" or "Submit" button click listener
int selectedId = radioSelectModeBackup.getCheckedRadioButtonId();
if (selectedId == R.id.radio_weekly) {
// Logic for weekly backup
} else if (selectedId == R.id.radio_moonthly) {
// Logic for monthly backup
} else {
// Nothing is selected (returns -1 if no default is set in XML)
}