Sunday, November 1, 2015

Custom alert dialogs with different widgets

public AlertDialog createDialog(Context context, final View view, final EditText editText) {

final String[] values = {"Get Started", "Venue_CA", "Guests_CA", "Decorations", "Beauty_CA", "Catering_CA & Entertainment", "Photography_CA", "FinishUp_CA"};


final AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
alertDialog.setView(view);
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Select", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {


if (view instanceof EditText) {
String data = ((EditText) view).getText().toString();
editText.setText(data);

} else if (view instanceof DatePicker) {

Calendar cal = Calendar.getInstance();
((DatePicker) view).setMinDate(cal.getTimeInMillis());
((DatePicker) view).setCalendarViewShown(false);
int day = ((DatePicker) view).getDayOfMonth();
String month = MONTHS[((DatePicker) view).getMonth()];
int year = ((DatePicker) view).getYear();
editText.setText(day + " " + month + " " + year);

} else if (view instanceof NumberPicker) {

int selection = ((NumberPicker) view).getValue();
editText.setText(values[selection]);

} else if (view instanceof TimePicker) {

int hour = ((TimePicker)view).getCurrentHour();
int minute = ((TimePicker)view).getCurrentMinute();
int second = 00;
String ampm = (hour < 12) ? "AM" : "PM";

editText.setText(hour+":"+minute+" "+ampm);
}
}
});
alertDialog.setButton(DialogInterface.BUTTON_NEUTRAL, "Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

alertDialog.hide();
}
});

return alertDialog;

}

No comments:

Post a Comment