I want to set two times i.e alert time and due Time. I have created two dialogs for alert time and due time. I tried to set both the times in different date objects. Still when I change alert time the due time also gets changed. I want to save both values differently.
private int ALERT_TIME_DIALOG, ALERT_DATE_DIALOG,DUE_TIME_DIALOG,DUE_DATE_DIALOG;
@Override
public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute, int second) {
String hourString = hourOfDay < 10 ? "0"+hourOfDay : ""+hourOfDay;
String minuteString = minute < 10 ? "0"+minute : ""+minute;
String secondString = second < 10 ? "0"+second : ""+second;
String aTime,dTime;
SimpleDateFormat df = new SimpleDateFormat("hh:mm a");
if(ALERT_TIME_DIALOG == 2) {
Date alertDate = new Date();
mCalendar = Calendar.getInstance();
mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendar.set(Calendar.MINUTE, minute);
mCalendar.set(Calendar.SECOND,0);
alertDate = mCalendar.getTime();
aTime = df.format(alertDate);
alertTime.setText(aTime);
}
if(DUE_TIME_DIALOG == 4){
Date dueDate = new Date();
mCalendar = Calendar.getInstance();
mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendar.set(Calendar.MINUTE, minute);
mCalendar.set(Calendar.SECOND,0);
dueDate = mCalendar.getTime();
dTime = df.format(dueDate);
dueTime.setText(dTime);
}
}
alertTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ALERT_TIME_DIALOG = 2;
Calendar now = Calendar.getInstance();
TimePickerDialog tpd = TimePickerDialog.newInstance(
AddTaskActivity.this,
now.get(Calendar.HOUR_OF_DAY),
now.get(Calendar.MINUTE),
mHoursMode
);
tpd.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
Log.d("TimePicker", "Dialog was cancelled");
}
});
tpd.show(getFragmentManager(), "Timepickerdialog");
}
});
dueTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DUE_TIME_DIALOG = 4;
Calendar now = Calendar.getInstance();
TimePickerDialog tpd = TimePickerDialog.newInstance(
AddTaskActivity.this,
now.get(Calendar.HOUR_OF_DAY),
now.get(Calendar.MINUTE),
mHoursMode
);
tpd.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
Log.d("TimePicker", "Dialog was cancelled");
}
});
tpd.show(getFragmentManager(), "Timepickerdialog");
}
});
What's wrong here.? Thank u..
Modify Your code as Below: You have Set two different tag for both Alert and Due date dialog. SO when you repeat the process both the value is set and in onTimeSet
method both if statement get executed.
private int TIME_PICKER_DIALOG_TAG;
@Override
public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute, int second) {
String hourString = hourOfDay < 10 ? "0"+hourOfDay : ""+hourOfDay;
String minuteString = minute < 10 ? "0"+minute : ""+minute;
String secondString = second < 10 ? "0"+second : ""+second;
SimpleDateFormat df = new SimpleDateFormat("hh:mm a");
mCalendar = Calendar.getInstance();
mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendar.set(Calendar.MINUTE, minute);
mCalendar.set(Calendar.SECOND,0);
Date date = mCalendar.getTime();
if(TIME_PICKER_DIALOG_TAG == 2) {
alertTime.setText(df.format(date));
}else if(TIME_PICKER_DIALOG_TAG == 4){
dueTime.setText(df.format(date));
}
}
alertTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TIME_PICKER_DIALOG_TAG = 2;
Calendar now = Calendar.getInstance();
TimePickerDialog tpd = TimePickerDialog.newInstance(
AddTaskActivity.this,
now.get(Calendar.HOUR_OF_DAY),
now.get(Calendar.MINUTE),
mHoursMode
);
tpd.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
Log.d("TimePicker", "Dialog was cancelled");
}
});
tpd.show(getFragmentManager(), "Timepickerdialog");
}
});
dueTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TIME_PICKER_DIALOG_TAG = 4;
Calendar now = Calendar.getInstance();
TimePickerDialog tpd = TimePickerDialog.newInstance(
AddTaskActivity.this,
now.get(Calendar.HOUR_OF_DAY),
now.get(Calendar.MINUTE),
mHoursMode
);
tpd.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
Log.d("TimePicker", "Dialog was cancelled");
}
});
tpd.show(getFragmentManager(), "Timepickerdialog");
}
});
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments