jeudi 28 janvier 2016

How to get dates from database and check if they overlaps?

I have a sqlite database in which I am storing all events. I have stored starttime and endtime for events in date format. Now I want to check if events do overlap with each other I want to show a message. I have fragments of days with tabs and one activity which adds events. Events are shown in fragments. I want to show message in add event activity when the user saves events. How can I do this?

Code for saving event.

 ImageButton imageButton = (ImageButton)findViewById(R.id.imgbtn_fab);
    imageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            eventTitle = title.getText().toString();


            if (eventTitle.length() == 0) {

                Toast.makeText(getApplicationContext(), "Title can not be empty.", Toast.LENGTH_LONG).show();
            } else {

                EventTableHelper db = new EventTableHelper(getApplication());
                db.addEvent(new EventData(eventTitle, startTime, endTime, dayOfWeek, location));

                setResult(RESULT_OK, i);

                finish();
            }
        }
    });

I get dates like this:

 c = Calendar.getInstance();

    year = c.get(Calendar.YEAR);
    month = c.get(Calendar.MONTH);
    day = c.get(Calendar.DAY_OF_MONTH);

    hour = c.get(Calendar.HOUR_OF_DAY);
    minute = c.get(Calendar.MINUTE);

    df = new SimpleDateFormat("HH:mm a");
    datefrom = c.getTime();
    startTime = String.valueOf(datefrom);

    aTime = df.format(datefrom.getTime());
    showFromTime.setText(aTime);

    c.add(Calendar.HOUR_OF_DAY, 1);
    dateto = c.getTime();
    endTime = String.valueOf(dateto);

    bTime = df.format(dateto.getTime());
    showToTime.setText(bTime);

Please help. Thankyou..

Aucun commentaire:

Enregistrer un commentaire