How to get the next date when click on button in android?

user2681425 picture user2681425 · Dec 14, 2013 · Viewed 12.6k times · Source

In my application i have a text view to set the current date and two buttons for next date and previous date.

When click on next button i need to set the next date to text view without opening the date picker and similarly to previous button also.

Please can any one help me.

Answer

Hariharan picture Hariharan · Dec 14, 2013

You could use the Calendar to get the current date. And then if you want the previous date you could use c.add(Calendar.DATE, -1) where -1 is the number of days you want to decrement from current date. In your case we want the previous date so used -1.Similarly, to get the next date use c.add(Calendar.DATE, 1). You can get the number of days previous or before just by altering the integer.

First of all to set current date to textview.

Calendar c = Calendar.getInstance();

System.out.println("Current time => " + c.getTime());

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c.getTime());

textview.setText(formattedDate);

Then on previous button click:

previous.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                c.add(Calendar.DATE, -1);
                formattedDate = df.format(c.getTime());

                Log.v("PREVIOUS DATE : ", formattedDate);
                textview.setText(formattedDate);
             }
});

On Next Button click:

next.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                c.add(Calendar.DATE, 1);
                formattedDate = df.format(c.getTime());

                Log.v("NEXT DATE : ", formattedDate);
                textview.setText(formattedDate);
            }
});