Created
June 10, 2013 02:25
-
-
Save nathancyam/5746152 to your computer and use it in GitHub Desktop.
EventAdd desu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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