Java 获取当月事件时发生NullPointerException
我有一个月视图日历应用程序,在其中我有精彩的活动。我想使用ListView以列表格式显示所有事件 我使用了这个适配器。然而,我有麻烦循环通过这个月来检查哪些日期是假期,并显示在listview中 代码: Fragment.javaJava 获取当月事件时发生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 ..
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);
}
Atholder.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];
}