I have an MainActivity which handles fragments. On one of the fragments I do:
enterBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getActivity().getFragmentManager(), "timePickerExit");
}
});
exitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getActivity().getFragmentManager(), "timePickerEnter");
}
});
And on my MainActivity I get the result:
public class MainActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener
with the function:
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute) {
//Who called it?
}
How can I know at onTimeSet who called it enterBtn or exitBtn?
You can set a boolean flag for enter and exit button.
isExit = false;
enterBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
isExit = false;
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getActivity().getFragmentManager(), "timePickerExit");
}
});
exitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
isExit = true;
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getActivity().getFragmentManager(), "timePickerEnter");
}
});
and in the Override method
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute) {
if(isExit)
{
// Do your task here if Exit button click
}
else
{
// Do your task here if Enter button click
}
}