Android Open Source - Labs-HandHeld-Systems Add To Do Activity






From Project

Back to project page Labs-HandHeld-Systems.

License

The source code is released under:

Apache License

If you think the Android project Labs-HandHeld-Systems listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package course.labs.todomanager;
//  ww w. j ava2  s .c  om
import java.util.Calendar;
import java.util.Date;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.TimePicker;
import course.labs.todomanager.ToDoItem.Priority;
import course.labs.todomanager.ToDoItem.Status;

public class AddToDoActivity extends Activity {

  // 7 days in milliseconds - 7 * 24 * 60 * 60 * 1000
  private static final int SEVEN_DAYS = 604800000;

  private static final String TAG = "Lab-UserInterface";

  private static String timeString;
  private static String dateString;
  private static TextView dateView;
  private static TextView timeView;

  private Date mDate;
  private RadioGroup mPriorityRadioGroup;
  private RadioGroup mStatusRadioGroup;
  private EditText mTitleText;
  private RadioButton mDefaultStatusButton;
  private RadioButton mDefaultPriorityButton;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.add_todo);

    mTitleText = (EditText) findViewById(R.id.title);
    mDefaultStatusButton = (RadioButton) findViewById(R.id.statusNotDone);
    mDefaultPriorityButton = (RadioButton) findViewById(R.id.medPriority);
    mPriorityRadioGroup = (RadioGroup) findViewById(R.id.priorityGroup);
    mStatusRadioGroup = (RadioGroup) findViewById(R.id.statusGroup);
    dateView = (TextView) findViewById(R.id.date);
    timeView = (TextView) findViewById(R.id.time);

    // Set the default date and time

    setDefaultDateTime();

    // OnClickListener for the Date button, calls showDatePickerDialog() to
    // show
    // the Date dialog

    final Button datePickerButton = (Button) findViewById(R.id.date_picker_button);
    datePickerButton.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
        showDatePickerDialog();
      }
    });

    // OnClickListener for the Time button, calls showTimePickerDialog() to
    // show the Time Dialog

    final Button timePickerButton = (Button) findViewById(R.id.time_picker_button);
    timePickerButton.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
        showTimePickerDialog();
      }
    });

    // OnClickListener for the Cancel Button,

    final Button cancelButton = (Button) findViewById(R.id.cancelButton);
    cancelButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {

        Log.i(TAG, "Entered cancelButton.OnClickListener.onClick()");

        // TODO - Indicate result and finish
        
      }
    });

    // TODO - Set up OnClickListener for the Reset Button
    final Button resetButton = (Button) findViewById(R.id.resetButton);
    resetButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        Log.i(TAG, "Entered resetButton.OnClickListener.onClick()");

        // TODO - Reset data to default values

      }
    });

    // Set up OnClickListener for the Submit Button

    final Button submitButton = (Button) findViewById(R.id.submitButton);
    submitButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        Log.i(TAG, "Entered submitButton.OnClickListener.onClick()");

        // gather ToDoItem data

        // TODO - Get the current Priority
        Priority priority = getPriority();

        // TODO - Get the current Status
        Status status = getStatus();

        // TODO - Get the current ToDoItem Title
        String titleString = getToDoTitle();

        // Construct the Date string
        String fullDate = dateString + " " + timeString;

        // Package ToDoItem data into an Intent
        Intent data = new Intent();
        ToDoItem.packageIntent(data, titleString, priority, status,
            fullDate);

        // TODO - return data Intent and finish
        
        finish();

      }
    });
  }

  // Do not modify below this point.

  private void setDefaultDateTime() {

    // Default is current time + 7 days
    mDate = new Date();
    mDate = new Date(mDate.getTime() + SEVEN_DAYS);

    Calendar c = Calendar.getInstance();
    c.setTime(mDate);

    setDateString(c.get(Calendar.YEAR), c.get(Calendar.MONTH),
        c.get(Calendar.DAY_OF_MONTH));

    dateView.setText(dateString);

    setTimeString(c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE),
        c.get(Calendar.MILLISECOND));

    timeView.setText(timeString);
  }

  private static void setDateString(int year, int monthOfYear, int dayOfMonth) {

    // Increment monthOfYear for Calendar/Date -> Time Format setting
    monthOfYear++;
    String mon = "" + monthOfYear;
    String day = "" + dayOfMonth;

    if (monthOfYear < 10)
      mon = "0" + monthOfYear;
    if (dayOfMonth < 10)
      day = "0" + dayOfMonth;

    dateString = year + "-" + mon + "-" + day;
  }

  private static void setTimeString(int hourOfDay, int minute, int mili) {
    String hour = "" + hourOfDay;
    String min = "" + minute;

    if (hourOfDay < 10)
      hour = "0" + hourOfDay;
    if (minute < 10)
      min = "0" + minute;

    timeString = hour + ":" + min + ":00";
  }

  private Priority getPriority() {

    switch (mPriorityRadioGroup.getCheckedRadioButtonId()) {
    case R.id.lowPriority: {
      return Priority.LOW;
    }
    case R.id.highPriority: {
      return Priority.HIGH;
    }
    default: {
      return Priority.MED;
    }
    }
  }

  private Status getStatus() {

    switch (mStatusRadioGroup.getCheckedRadioButtonId()) {
    case R.id.statusDone: {
      return Status.DONE;
    }
    default: {
      return Status.NOTDONE;
    }
    }
  }

  private String getToDoTitle() {
    return mTitleText.getText().toString();
  }
  
  
  // DialogFragment used to pick a ToDoItem deadline date

  public static class DatePickerFragment extends DialogFragment implements
      DatePickerDialog.OnDateSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

      // Use the current date as the default date in the picker

      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);

      // Create a new instance of DatePickerDialog and return it
      return new DatePickerDialog(getActivity(), this, year, month, day);
    }

    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear,
        int dayOfMonth) {
      setDateString(year, monthOfYear, dayOfMonth);

      dateView.setText(dateString);
    }

  }

  // DialogFragment used to pick a ToDoItem deadline time

  public static class TimePickerFragment extends DialogFragment implements
      TimePickerDialog.OnTimeSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

      // Use the current time as the default values for the picker
      final Calendar c = Calendar.getInstance();
      int hour = c.get(Calendar.HOUR_OF_DAY);
      int minute = c.get(Calendar.MINUTE);

      // Create a new instance of TimePickerDialog and return
      return new TimePickerDialog(getActivity(), this, hour, minute, true);
    }

    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
      setTimeString(hourOfDay, minute, 0);

      timeView.setText(timeString);
    }
  }

  private void showDatePickerDialog() {
    DialogFragment newFragment = new DatePickerFragment();
    newFragment.show(getFragmentManager(), "datePicker");
  }

  private void showTimePickerDialog() {
    DialogFragment newFragment = new TimePickerFragment();
    newFragment.show(getFragmentManager(), "timePicker");
  }
}




Java Source Code List

course.labs.activitylab.ActivityOne.java
course.labs.activitylab.ActivityTwo.java
course.labs.dangerousapp.DangerousActivity.java
course.labs.fragmentslab.FeedFragmentData.java
course.labs.fragmentslab.FeedFragment.java
course.labs.fragmentslab.FriendsFragment.java
course.labs.fragmentslab.MainActivity.java
course.labs.intentslab.ActivityLoaderActivity.java
course.labs.intentslab.ExplicitlyLoadedActivity.java
course.labs.intentslab.mybrowser.MyBrowserActivity.java
course.labs.permissionslab.ActivityLoaderActivity.java
course.labs.permissionslab.BookmarksActivity.java
course.labs.permissionslab.GoToDangerousActivity.java
course.labs.todomanager.AddToDoActivity.java
course.labs.todomanager.ToDoItem.java
course.labs.todomanager.ToDoListAdapter.java
course.labs.todomanager.ToDoManagerActivity.java