Skip to content

Instantly share code, notes, and snippets.

@nathancyam
Created June 10, 2013 02:25
Show Gist options
  • Save nathancyam/5746152 to your computer and use it in GitHub Desktop.
Save nathancyam/5746152 to your computer and use it in GitHub Desktop.
EventAdd desu
public class EventAdd extends Fragment {
Date simpleDateFormat;
TextView dateText;
TextView timeText;
EditText locationText;
EditText nameText;
Button addEventBtn;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View viewFrag = inflater.inflate(R.layout.frag_eventadd, container, false);
dateText = (TextView)viewFrag.findViewById(R.id.dateField);
timeText = (TextView)viewFrag.findViewById(R.id.timeField);
locationText = (EditText)viewFrag.findViewById(R.id.location);
nameText = (EditText)viewFrag.findViewById(R.id.name);
addEventBtn = (Button)viewFrag.findViewById(R.id.btn_add_event);
dateText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showDatePickerDialog(view);
}
});
timeText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showTimePickerDialog(view);
}
});
addEventBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
addEvent();
}
});
return viewFrag;
}
private void addEvent() {
EventDataSource eventDataSource = new EventDataSource(getActivity());
String location = locationText.getText().toString();
String nameString = nameText.getText().toString();
String dateString = dateText.getText().toString();
String timeString = timeText.getText().toString();
try {
eventDataSource.open();
eventDataSource.createEvent(location, dateString, timeString, nameString);
eventDataSource.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void showTimePickerDialog(View v){
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getFragmentManager(), "timeText");
}
public void showDatePickerDialog(View v){
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getFragmentManager(), "dateText");
}
public static class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {
TextView timeText;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity()));
}
@Override
public void onTimeSet(TimePicker timePicker, int hour, int minute) {
timeText = (TextView)getActivity().findViewById(R.id.timeField);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(pad(hour));
stringBuilder.append(":");
stringBuilder.append(pad(minute));
timeText.setText(hour + ":" + minute);
}
}
public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
TextView dateText;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
dateText = (TextView)getActivity().findViewById(R.id.dateField);
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day);
String dateString = day + "/" + month + "/" + year;
try {
Date simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy").parse(dateString);
String monthText = new SimpleDateFormat("MMM").format(simpleDateFormat);
String dayOfWeek = new SimpleDateFormat("E").format(simpleDateFormat);
String fullDate = dayOfWeek + ", " + day + " " + monthText + " " + year;
dateText.setText(fullDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
private static String pad(int c) {
if (c >= 10)
return String.valueOf(c);
else
return "0" + String.valueOf(c);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment