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))); } }); } }ahora agregó los cambios que realizó, pero getSupportActionBar. esta en rojo? solo me pide que cree variables locales al hacer clic derecho. muy estresado con esto ya que no puedo continuar hasta que esta página funcione... ya que todavía necesito poder agregar eventos a las fechas
Intenta hacer este cambio
En tu OnCreate:
ActionBar myActionBar = getSupportActionBar(); if (myActionBar != null) { myActionBar.setDisplayHomeAsUpEnabled(true); actionBar.setTitle(null); }En tu setListener
@Override public void onMonthScroll(Date firstDayOfNewMonth) { getSupportActionBar().setTitle(String.valueOf( dateFormatMonth.format(firstDayOfNewMonth))); }Buena suerte
EDITAR prueba esto
compactCalendar.setListener(new CompactCalendarView.CompactCalendarViewListener() { @Override public void onMonthScroll(Date firstDayOfNewMonth) { setNewTitleBar(dateFormatMonth.format(firstDayOfNewMonth)); } }); } private void setNewTitleBar(String newTitle) { getSupportActionBar().setTitle(newTitle); } }