Java 获取当月事件时发生NullPointerException

Java 获取当月事件时发生NullPointerException,java,android,events,listview,calendar,Java,Android,Events,Listview,Calendar,我有一个月视图日历应用程序,在其中我有精彩的活动。我想使用ListView以列表格式显示所有事件 我使用了这个适配器。然而,我有麻烦循环通过这个月来检查哪些日期是假期,并显示在listview中 代码: Fragment.java public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //initialize calendar ..

我有一个月视图日历应用程序,在其中我有精彩的活动。我想使用ListView以列表格式显示所有事件

我使用了这个适配器。然而,我有麻烦循环通过这个月来检查哪些日期是假期,并显示在listview中

代码:

Fragment.java

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    //initialize calendar 
    .....

   //loop through the month to get the events
    for(int i = 0; i < _calendar.getActualMaximum(Calendar.DAY_OF_MONTH); i++){
            if(isHoliday(day, month, year))
            {
                Log.d("Calendar", "Events");
                CalendarEvents events = new CalendarEvents();
                final ArrayList<Event> e = new ArrayList<Event>();
                e.addAll(events.eventDetails(month, day));

                for (int j = 0; j < e.size(); j++)
                {
                   Event event = e.get(i);
                   summary_data = new Summary[]
                    {
                       new Summary("EVENT 1", "Event")
                    };
                } 
            }
        }


       //this code works:
        /*summary_data = new Summary[]
        {
             new Summary("Cloudy", "Cloudy"),
             new Summary("Showers", "Showers"),
             new Summary("Snow", "Snow"),
             new Summary("Storm", "Storm"),
             new Summary("Sunny", "Sunny")
        };*/

        summaryAdapter = new SummaryAdapter(this.getActivity().getApplicationContext(), R.layout.listview_item_row, summary_data);

        calendarSummary = (ListView) v.findViewById(R.id.calendarSummary);
        calendarSummary.setAdapter(summaryAdapter);
}
At
holder.summaryDate.setText(summary.summaryDate)它抛出
NullPointerException

我哪里出错了?

将验证设置为

 if(data != null) {
    Summary summary = data[position];
 }

在列表视图生成过程中可能会抛出这些错误。

您调试了它吗?尝试添加一个断点,并仔细检查是否所有变量都已初始化,对于我看到的情况,我将直接转到变量“data”,检查它是否有值。

我尝试了这个方法。它仍然在
holder.summaryDate.setText(summary.summaryDate)抛出NullPointerException我假设我在几个月内循环的方式不正确?可能吧。请尝试比较您的数据大小和循环迭代次数。谢谢。我调试了它并解决了问题。它应该是
if(isHoliday(day,month,year))
,而不是
if(isHoliday(i,month,year))
 if(data != null) {
    Summary summary = data[position];
 }