2012-08-05 4 views
0

안녕하세요. 문제가 있습니다.Android 알람 시계

LogCat에서 문제가 발생했습니다.

로그 캣 :

08-05 11:42:30.222: E/AndroidRuntime(623): FATAL EXCEPTION: main 
08-05 11:42:30.222: E/AndroidRuntime(623): java.lang.NullPointerException 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.text.format.DateFormat.is24HourFormat(DateFormat.java:204) 
08-05 11:42:30.222: E/AndroidRuntime(623): at com.android.alarmclock.Alarms.get24HourMode(Alarms.java:536) 
08-05 11:42:30.222: E/AndroidRuntime(623): at com.android.alarmclock.DigitalClock.setDateFormat(DigitalClock.java:192) 
08-05 11:42:30.222: E/AndroidRuntime(623): at com.android.alarmclock.DigitalClock.onFinishInflate(DigitalClock.java:121) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.LayoutInflater.rInflate(LayoutInflater.java:631) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.LayoutInflater.inflate(LayoutInflater.java:408) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
08-05 11:42:30.222: E/AndroidRuntime(623): at com.android.alarmclock.AlarmClock$AlarmTimeAdapter.newView(AlarmClock.java:96) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.CursorAdapter.getView(CursorAdapter.java:182) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.AbsListView.obtainView(AbsListView.java:1430) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.ListView.measureHeightOfChildren(ListView.java:1216) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.ListView.onMeasure(ListView.java:1127) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.View.measure(View.java:8313) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.LinearLayout.measureVertical(LinearLayout.java:386) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.View.measure(View.java:8313) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.View.measure(View.java:8313) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.LinearLayout.measureVertical(LinearLayout.java:531) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.View.measure(View.java:8313) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.View.measure(View.java:8313) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.ViewRoot.performTraversals(ViewRoot.java:839) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.os.Handler.dispatchMessage(Handler.java:99) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.os.Looper.loop(Looper.java:123) 
08-05 11:42:30.222: E/AndroidRuntime(623): at android.app.ActivityThread.main(ActivityThread.java:3683) 
08-05 11:42:30.222: E/AndroidRuntime(623): at java.lang.reflect.Method.invokeNative(Native Method) 
08-05 11:42:30.222: E/AndroidRuntime(623): at java.lang.reflect.Method.invoke(Method.java:507) 
08-05 11:42:30.222: E/AndroidRuntime(623): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
08-05 11:42:30.222: E/AndroidRuntime(623): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
08-05 11:42:30.222: E/AndroidRuntime(623): at dalvik.system.NativeStart.main(Native Method) 

코드의 비트 (에러가있는 경우)

로그 캣 :

08-05 11:42:30.222: E/AndroidRuntime(623): at com.android.alarmclock.Alarms.get24HourMode(Alarms.java:536) 
08-05 11:42:30.222: E/AndroidRuntime(623): at com.android.alarmclock.DigitalClock.setDateFormat(DigitalClock.java:192) 
08-05 11:42:30.222: E/AndroidRuntime(623): at com.android.alarmclock.DigitalClock.onFinishInflate(DigitalClock.java:121) 

번호 :

static Calendar calculateAlarm(int hour, int minute, Alarm.DaysOfWeek daysOfWeek) { 

    // start with now 
Calendar c = Calendar.getInstance(); 
c.setTimeInMillis(System.currentTimeMillis()); 

int nowHour = c.get(Calendar.HOUR_OF_DAY); 
int nowMinute = c.get(Calendar.MINUTE); 

// if alarm is behind current time, advance one day 
if (hour < nowHour || 
    hour == nowHour && minute <= nowMinute) { 
    c.add(Calendar.DAY_OF_YEAR, 1); 
} 
c.set(Calendar.HOUR_OF_DAY, hour); 
c.set(Calendar.MINUTE, minute); 
c.set(Calendar.SECOND, 0); 
c.set(Calendar.MILLISECOND, 0); 

int addDays = daysOfWeek.getNextAlarm(c); 
/* Log.v("** TIMES * " + c.getTimeInMillis() + " hour " + hour + 
    " minute " + minute + " dow " + c.get(Calendar.DAY_OF_WEEK) + " from now " + 
    addDays); */ 
if (addDays > 0) c.add(Calendar.DAY_OF_WEEK, addDays); 
    return c; 
} 

static String formatTime(final Context context, int hour, int minute, 
         Alarm.DaysOfWeek daysOfWeek) { 
    Calendar c = calculateAlarm(hour, minute, daysOfWeek); 
    return formatTime(context, c); 
} 

/* used by AlarmAlert */ 
static String formatTime(final Context context, Calendar c) { 
    String format = get24HourMode(context) ? M24 : M12; 
    return (c == null) ? "" : (String)DateFormat.format(format, c); 
} 

/** 
* Shows day and time -- used for lock screen 
*/ 
private static String formatDayAndTime(final Context context, Calendar c) { 
    String format = get24HourMode(context) ? DM24 : DM12; 
    return (c == null) ? "" : (String)DateFormat.format(format, c); 
} 

/** 
* Save time of the next alarm, as a formatted string, into the system 
* settings so those who care can make use of it. 
*/ 
static void saveNextAlarm(final Context context, String timeString) { 
    Settings.System.putString(context.getContentResolver(), 
           Settings.System.NEXT_ALARM_FORMATTED, 
           timeString); 
} 

/** 
* @return true if clock is set to 24-hour mode 
*/ 
static boolean get24HourMode(final Context context) { 
    return android.text.format.DateFormat.is24HourFormat(context); 
} 

다음 : 0,123,516

로그 캣 :

08-05 11:42:30.222: E/AndroidRuntime(623): at com.android.alarmclock.AlarmClock$AlarmTimeAdapter.newView(AlarmClock.java:96) 

코드 :

public View newView(Context context, Cursor cursor, ViewGroup parent) { 
    View ret = mFactory.inflate(R.layout.alarm_time, parent, false); 

    ((TextView) ret.findViewById(R.id.am)).setText(mAm); 
    ((TextView) ret.findViewById(R.id.pm)).setText(mPm); 

    DigitalClock digitalClock = 
      (DigitalClock) ret.findViewById(R.id.digitalClock); 
    digitalClock.setLive(false); 
    return ret; 
} 

프로젝트 : https://github.com/android/platform_packages_apps_alarmclock 아파치 2.0 DigitalClock.java 클래스

답변

0

mContext가 null입니다. 컨텍스트로 설정해야합니다. 수업이 추가 :

mContext=context; 

를 두 번째 문제에 대해. 전체 로그를 붙여 넣어야합니다. 문제가 무엇입니까?

+0

이것은 모두 로그입니다. – Silesia

관련 문제