I'm having a deadlock here, I'm setting up a screen for my app, where it has a calendar, where the dates appear, and when I touch the date it appears the notes that another user made, but he wanted to know how he would do those notes, if I would do via database with the firebase or if I would do it directly in the app, and how exactly would it do that?
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.applandeo.materialcalendarview.CalendarView;
import com.applandeo.materialcalendarview.EventDay;
import com.applandeo.materialcalendarview.exceptions.OutOfDateRangeException;
import com.applandeo.materialcalendarview.listeners.OnDayClickListener;
import com.applandeo.materialcalendarview.utils.DateUtils;
import com.projeto.ensinodigital.ensinodigital.R;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Random;
public class AgendaActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_agenda);
List<EventDay> events = new ArrayList<>();
Calendar calendar = Calendar.getInstance();
events.add(new EventDay(calendar, R.drawable.common_google_signin_btn_icon_dark));
Calendar calendar1 = Calendar.getInstance();
calendar1.add(Calendar.DAY_OF_MONTH, 2);
events.add(new EventDay(calendar1, R.drawable.common_google_signin_btn_icon_dark));
Calendar calendar2 = Calendar.getInstance();
calendar2.add(Calendar.DAY_OF_MONTH, 5);
events.add(new EventDay(calendar2, R.drawable.common_google_signin_btn_icon_dark));
CalendarView calendarView = (CalendarView) findViewById(R.id.calendarView);
Calendar min = Calendar.getInstance();
min.add(Calendar.MONTH, -2);
Calendar max = Calendar.getInstance();
max.add(Calendar.MONTH, 2);
calendarView.setMinimumDate(min);
calendarView.setMaximumDate(max);
calendarView.setEvents(events);
calendarView.setDisabledDays(getDisabledDays());
calendarView.setOnDayClickListener(new OnDayClickListener() {
@Override
public void onDayClick(EventDay eventDay) {
Toast.makeText(getApplicationContext(), eventDay.getCalendar().getTime().toString() + " " + eventDay.isEnabled(),
Toast.LENGTH_LONG).show();
}
});
Button setDateButton = (Button) findViewById(R.id.setDateButton);
setDateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
//problema ta aqui, fica vermelho e ainda não consigo terminar //pq fala algo sobre variable calendario view is accessed from within inner class
calendarView.setDate(getRandomCalendar());
} catch (OutOfDateRangeException exception) {
exception.printStackTrace();
Toast.makeText(getApplicationContext(),
"Date is out of range",
Toast.LENGTH_LONG).show();
}
}
});
}
private List<Calendar> getDisabledDays() {
Calendar firstDisabled = DateUtils.getCalendar();
firstDisabled.add(Calendar.DAY_OF_MONTH, 2);
Calendar secondDisabled = DateUtils.getCalendar();
secondDisabled.add(Calendar.DAY_OF_MONTH, 1);
Calendar thirdDisabled = DateUtils.getCalendar();
thirdDisabled.add(Calendar.DAY_OF_MONTH, 18);
List<Calendar> calendars = new ArrayList<>();
calendars.add(firstDisabled);
calendars.add(secondDisabled);
calendars.add(thirdDisabled);
return calendars;
}
private Calendar getRandomCalendar() {
Random random = new Random();
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, random.nextInt(99));
return calendar;
}
}