Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

calendar keeps causing app to force close #6

Closed
armyofpunk opened this issue Nov 20, 2015 · 4 comments
Closed

calendar keeps causing app to force close #6

armyofpunk opened this issue Nov 20, 2015 · 4 comments

Comments

@armyofpunk
Copy link

I have implemented the agedacalendaras per readme, I have included your example events just as a place holder untill I get it set up and everytime I open it in app the app crashes. ...

here is the log

11-20 12:28:49.405 4470-4470/com.jenovaprojects.inkincardine E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.jenovaprojects.inkincardine, PID: 4470
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jenovaprojects.inkincardine/com.jenovaprojects.inkincardine.Events.Events}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.github.tibolte.agendacalendarview.AgendaCalendarView.init(java.util.List, java.util.Calendar, java.util.Calendar, java.util.Locale, com.github.tibolte.agendacalendarview.CalendarPickerController)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.github.tibolte.agendacalendarview.AgendaCalendarView.init(java.util.List, java.util.Calendar, java.util.Calendar, java.util.Locale, com.github.tibolte.agendacalendarview.CalendarPickerController)' on a null object reference
at com.jenovaprojects.inkincardine.Events.Events.onCreate(Events.java:59)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390) 
at android.app.ActivityThread.access$800(ActivityThread.java:151) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5257) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

@Tibolte
Copy link
Owner

Tibolte commented Nov 20, 2015

I don't have your code but seeing this:
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.github.tibolte.agendacalendarview.AgendaCalendarView.init(java.util.List, java.util.Calendar, java.util.Calendar, java.util.Locale, com.github.tibolte.agendacalendarview.CalendarPickerController)' on a null object reference

Your instance of AgendaCalendarView is probably null. Check if you identified it from your layout.
Do you have something like:
mAgendaCalendarView = (AgendaCalendarView) findViewById(R.id.agendacalendarview);
before calling the init method?

@armyofpunk
Copy link
Author

here is my code. thanks for the help

package com.jenovaprojects.inkincardine.Events;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.CalendarView;
import android.widget.Toast;

import com.github.tibolte.agendacalendarview.AgendaCalendarView;
import com.github.tibolte.agendacalendarview.CalendarPickerController;
import com.github.tibolte.agendacalendarview.models.CalendarEvent;
import com.github.tibolte.agendacalendarview.models.DayItem;
import com.jenovaprojects.inkincardine.R;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;

public class Events extends AppCompatActivity implements CalendarPickerController {

//TODO:fix forceclose with calendar.

AgendaCalendarView mAgendaCalendarView;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_events);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);


    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
        }
    });

    // minimum and maximum date of our calendar
    // 2 month behind, one year ahead, example: March 2015 <-> May 2015 <-> May 2016
    Calendar minDate = Calendar.getInstance();
    Calendar maxDate = Calendar.getInstance();

    minDate.add(Calendar.MONTH, -2);
    minDate.set(Calendar.DAY_OF_MONTH, 1);
    maxDate.add(Calendar.YEAR, 1);

    List<CalendarEvent> eventList = new ArrayList<>();
    mockList(eventList);

    mAgendaCalendarView.init(eventList, minDate, maxDate, Locale.getDefault(), this);
}

private void mockList(List<CalendarEvent> eventList) {
    Calendar startTime1 = Calendar.getInstance();
    Calendar endTime1 = Calendar.getInstance();
    endTime1.add(Calendar.MONTH, 1);
    CalendarEvent event1 = new CalendarEvent("Thibault travels in Iceland", "A wonderful journey!", "Iceland",
            ContextCompat.getColor(this, R.color.colorAccent), startTime1, endTime1, true);
    eventList.add(event1);

    Calendar startTime2 = Calendar.getInstance();
    startTime2.add(Calendar.DAY_OF_YEAR, 1);
    Calendar endTime2 = Calendar.getInstance();
    endTime2.add(Calendar.DAY_OF_YEAR, 3);
    CalendarEvent event2 = new CalendarEvent("Visit to Dalvík", "A beautiful small town", "Dalvík",
            ContextCompat.getColor(this, R.color.colorPrimary), startTime2, endTime2, true);
    eventList.add(event2);

    Calendar startTime3 = Calendar.getInstance();
    Calendar endTime3 = Calendar.getInstance();
    startTime3.set(Calendar.HOUR_OF_DAY, 14);
    startTime3.set(Calendar.MINUTE, 0);
    endTime3.set(Calendar.HOUR_OF_DAY, 15);
    endTime3.set(Calendar.MINUTE, 0);
    CalendarEvent event3 = new CalendarEvent("Visit of Harpa", "", "Dalvík",
            ContextCompat.getColor(this, R.color.colorPrimaryDark), startTime3, endTime3, false);
    eventList.add(event3);
}


@Override
public void onDaySelected(DayItem dayItem) {

}

@Override
public void onEventSelected(CalendarEvent event) {

}

}

@Tibolte
Copy link
Owner

Tibolte commented Nov 22, 2015

ok mAgendaCalendarView is definitely null, please identify this view from your layout!

An example:

mAgendaCalendarView = (AgendaCalendarView) findViewById(R.id.agendacalendarview);

@armyofpunk
Copy link
Author

Fixed it thanks!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants