Witam!!!
Mam taki mały problem mam nadzieję, że pomożecie. Wracając do tematu
Mam kalendarz w androidzie po kliknięciu odpowiedniej daty przechodzi na nową stronkę.
Jeżeli jednak chcemy zmienić miesiąc wykonywany jest lisner z data obecną(funkcja przejscie) zamiast wczytac nastepny miesiac.
Poniżej kod
public class Harmonogram extends ActionBarActivity {
public void przejscie(int day, int month, int year) {
Intent i = new Intent(getApplicationContext(), Harmonogram1.class);
i.putExtra("dzien", day);
i.putExtra("miesiac", month);
i.putExtra("rok", year);
startActivity(i);
System.exit(0);
}
CalendarView calendar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.harmonogram);
tworzKalendarz();
}
@SuppressLint("NewApi")
public void tworzKalendarz() {
calendar = (CalendarView) findViewById(R.id.calendar);
calendar.setShowWeekNumber(false);
calendar.setFirstDayOfWeek(2);
calendar.setSelectedWeekBackgroundColor(getResources().getColor(R.color.green));
calendar.setUnfocusedMonthDateColor(getResources().getColor(R.color.transparent));
calendar.setWeekSeparatorLineColor(getResources().getColor(R.color.transparent));
calendar.setSelectedDateVerticalBar(R.color.darkgreen);
calendar.setOnDateChangeListener(new OnDateChangeListener() {
GregorianCalendar kalendarz = new GregorianCalendar();
int dzienObecny = kalendarz.get(Calendar.DAY_OF_MONTH);
int miesiacObecny = kalendarz.get(Calendar.MONTH) + 1;
int rokObecny = kalendarz.get(Calendar.YEAR);
@Override
public void onSelectedDayChange(CalendarView view, int year1, int month1, int day1) {
int day =day1;
int month = month1 +1;
int year = year1;
if(year<rokObecny) {
Toast.makeText(getApplicationContext(), "Wybrałeś starą date /d "+day+" /m "+month+" /y"+year+"/dd"+dzienObecny+" /mm "+miesiacObecny+" /rr "+rokObecny, Toast.LENGTH_LONG).show();
}
else if(year == rokObecny) {
if(month < miesiacObecny) {
Toast.makeText(getApplicationContext(), "Wybrałeś starą date /d "+day+" /m "+month+" /y"+year+"/dd"+dzienObecny+" /mm "+miesiacObecny+" /rr "+rokObecny, Toast.LENGTH_LONG).show();
}
else if(month == miesiacObecny) {
if(day<dzienObecny) {
Toast.makeText(getApplicationContext(), "Wybrałeś starą date /d "+day+" /m "+month+" /y"+year+"/dd"+dzienObecny+" /mm "+miesiacObecny+" /rr "+rokObecny, Toast.LENGTH_LONG).show();
}
else {
// przejscie(day, month, year);
}
}
else if(month > miesiacObecny) {
// przejscie(day, month, year);
}
else {
}
}
else if (year> rokObecny) {
// przejscie(day, month, year);
}
else {
}
Toast.makeText(getApplicationContext(), "Wybrałeś starą date: dzien "+ dzienObecny + "miesiac" + miesiacObecny + "rok "+rokObecny, Toast.LENGTH_LONG).show();
}
});
}
}
Z góry dzięki !!!