AndroidStudio Calendar.get(Calendar.DAY_OF_MONTH)nullPointerexception

我的日历有问题。 这是代码:

Calendar mCalendar = Calendar.getInstance(); mToday[0] = mCalendar.get(Calendar.DAY_OF_MONTH); mToday[1] = mCalendar.get(Calendar.MONTH); // zero based mToday[2] = mCalendar.get(Calendar.YEAR); 

无法运行我的项目,因为AndroidStudio在Calendar.DAY_OF_MONTHCalendar.MONTH等上显示错误…我在模拟器中运行时得到nullPointException

这就是它

必须是以下之一:java.util.Calendar.DAY_OF_MONTHjava.util.Calendar.MONTH等…

我不明白这个错误,因为Calendar.MONTHjava.util.calendar.MONTH

我有一个导入它

 import java.util.Calendar; 

对不起,我错过了它的初始化,但还有一个其他类,我想使用Calendar.MONTH等,如下所示:

 mCalendarToday = Calendar.getInstance(); ... int dayOfWeek = mCalendar.get(Calendar.DAY_OF_WEEK); int firstDay = getDay(mCalendar.get(Calendar.DAY_OF_WEEK); 

要么

 private Calendar mCalendarToday; ... private boolean isToday(int day, int month, int year) { if (mCalendarToday.get(Calendar.MONTH) == month && mCalendarToday.get(Calendar.YEAR) == year && mCalendarToday.get(Calendar.DAY_OF_MONTH) == day) { return true; } return false; } 

这里也显示错误。 以及我将使用的所有其他行。

它看起来像Android Studio的一个错误:0.5.5

请参阅http://code.google.com/p/android/issues/detail?id=68758

我相信你访问日历的方式是正确的。

我猜你尝试添加值的int[]未初始化。 你必须打电话

 int[] mToday = new int[3]; 

硬编码。 但必须努力。

  int[] mToday = new int[]{}; java.util.Calendar calendar = java.util.Calendar.getInstance(); mToday[0] = calendar.get(java.util.Calendar.DAY_OF_MONTH); mToday[1] = calendar.get(java.util.Calendar.MONTH); mToday[2] = calendar.get(java.util.Calendar.YEAR); 

也许你没有初始化你的领域。 我在Eclipse中试过它,这很有效

 int[] mToday = new int[10]; Calendar mCalendar = Calendar.getInstance(); mToday[0] = mCalendar.get(Calendar.DAY_OF_MONTH); mToday[1] = mCalendar.get(Calendar.MONTH); // zero based mToday[2] = mCalendar.get(Calendar.YEAR);