-2
import android.content.Context;
import android.graphics.Color;
import android.icu.text.SimpleDateFormat;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;

import com.github.sundeepk.compactcalendarview.CompactCalendarView;
import com.github.sundeepk.compactcalendarview.domain.Event;

import java.util.Date;
import java.util.Locale;

public class Calendarpage extends AppCompatActivity {

    //modify here
    ActionBar actionBar = null;

    CompactCalendarView compactCalendar;
    private SimpleDateFormat dateFormatMonth = new SimpleDateFormat ("MMM- yyyy", Locale.getDefault());

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

        // modify here
        ActionBar myActionBar = getSupportActionBar();
        if (myActionBar != null) {
            myActionBar.setDisplayHomeAsUpEnabled(true);
            actionBar.setTitle(null);
        }

        compactCalendar = (CompactCalendarView) findViewById(R.id.compactcalendar_view);
        compactCalendar.setUseThreeLetterAbbreviation(true);

        Event ev1 = new Event(Color.RED, 1514160000L, "Chirstmas Day");
        compactCalendar.addEvent(ev1);

        compactCalendar.setListener(new CompactCalendarView.CompactCalendarViewListener() {
            @Override
            public void onDayClick(Date dateClicked) {
                Context context = getApplicationContext();

                if (dateClicked.toString().compareTo("Mon Dec 25 00:00:00 AST 2017") == 0) {
                    Toast.makeText(context, "Christmas Day", Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(context, "No Events Planned That Day", Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void onMonthScroll(Date firstDayOfNewMonth) {
                getSupportActionBar.setTitle(String.valueOf(dateFormatMonth.format(firstDayOfNewMonth)));
            }
        });
    }
}

now added the changes you made but the getSupportActionBar. is in red? its just asking me to create local variables when right clicking. very stressed with this as I can't move on until this page works.. as I still need to be able to add events to dates

1 Answers1

0

Try to make this change

In your OnCreate :

    ActionBar myActionBar = getSupportActionBar();
    if (myActionBar != null) {
        myActionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setTitle(null);
    }

In your setListener

        @Override
        public void onMonthScroll(Date firstDayOfNewMonth) {
             getSupportActionBar().setTitle(String.valueOf(
             dateFormatMonth.format(firstDayOfNewMonth)));
        }

Good luck

EDIT try this

        compactCalendar.setListener(new CompactCalendarView.CompactCalendarViewListener() {    
            @Override
            public void onMonthScroll(Date firstDayOfNewMonth) {
                setNewTitleBar(dateFormatMonth.format(firstDayOfNewMonth));
            }
        });
    }

    private void setNewTitleBar(String newTitle) {
        getSupportActionBar().setTitle(newTitle);
    }
}
VelocityPulse
  • 613
  • 7
  • 13