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_MONTH
, Calendar.MONTH
等上显示错误…我在模拟器中运行时得到nullPointException
这就是它
必须是以下之一:java.util.Calendar.DAY_OF_MONTHjava.util.Calendar.MONTH等…
我不明白这个错误,因为Calendar.MONTH
是java.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);