2015-06-05 4 views
-2

Я новичок в программировании на Android. Я попытался сделать напоминание. Но когда я добавил диспетчер аварийных сообщений в свои коды. Это дало мне NullPointerException. Я уже проверял вопрос. Но они мне не помогли. Я также проверил, не было ли того, что я не инициализировал. Но я не нашел. Также я проверил свой xml. Я подумал, что может быть проблема в кнопке(). Но и там не было проблем. Я знаю, что есть много вопросов по этому вопросу. Но можете ли вы мне помочь?Исключение Null Pointer в Android

Это мой ImageActivity класс

public void addImage(View v) 
    { 

    int year = datepicker.getYear(); 
    int month = datepicker.getMonth(); 
    int day = datepicker.getDayOfMonth(); 
    int hour = timepicker.getCurrentHour(); 
    int minute = timepicker.getCurrentMinute(); 

    Calendar c= Calendar.getInstance(); 

    String uniqueid = System.currentTimeMillis()+""; 
    c.set(year,month,day,hour,minute); 
    long firstTime = c.getTimeInMillis(); 


    AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
    Intent intent = new Intent(context, AlarmReceiver.class); 
    mAlarmSender = PendingIntent.getBroadcast(context, 0, intent, 0); 

    am.set(AlarmManager.RTC_WAKEUP, firstTime, mAlarmSender); 

    db3.insertRecordimage(fileName2, String.valueOf(year), String.valueOf(month), String.valueOf(day), String.valueOf(hour), String.valueOf(minute)); 



} 

Это мой XML

<Button 

    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="New Button" 
    android:onClick="addImage" 
    android:id="@+id/button7" 
    android:layout_gravity="right" /> 

И это мой LogCat

06-05 22:29:49.916: E/AndroidRuntime(31354): at dalvik.system.NativeStart.main(Native Method)06-05 22:29:49.916: E/AndroidRuntime(31354): at java.lang.reflect.Method.invokeNative(Native Method) 
06-05 22:29:49.916: E/AndroidRuntime(31354): at java.lang.reflect.Method.invoke(Method.java:515) 
06-05 22:29:49.916: E/AndroidRuntime(31354): at android.view.View$1.onClick(View.java:3964) 
06-05 22:29:49.916: E/AndroidRuntime(31354): ... 11 more 
06-05 22:29:49.916: E/AndroidRuntime(31354): Caused by: java.lang.NullPointerException 
06-05 22:29:49.916: E/AndroidRuntime(31354): at com.example.pc.remindme.ImageActivity.addImage(ImageActivity.java:132) 
06-05 22:29:49.916: E/AndroidRuntime(31354): ... 14 more 
+0

Что линия 132 из ImageActivity? – CommonsWare

+0

Это «AlarmManager am = (AlarmManager) context.getSystemService (Context.ALARM_SERVICE);» – NewAndro

+0

'context' is null – Blackbelt

ответ

3

Если NullPointerException является результатом этой линии, как вы указано в ваших комментариях:

AlarmManager am=(AlarmManager) context.getSystemService(Context.ALARM_SERVICE); 

то я предполагаю, что в этот момент контекст равен нулю. Если ваш метод в деятельности, вы уже получили свой контекст так:

AlarmManager am=(AlarmManager) this.getSystemService(Context.ALARM_SERVICE); 

Если вы во внутреннем классе или похожую, вы можете использовать:

AlarmManager am=(AlarmManager) ImageActivity.this.getSystemService(Context.ALARM_SERVICE); 
+0

Спасибо, за ваш ответ. Я использовал, но они не сработали. У меня все еще такая же ошибка. – NewAndro

+0

Не должно быть никакого исключения NullPointerException на этой строке, вам также необходимо заменить любое повторение «контекста» на «this». Возможно, в другом месте есть другое исключение NullPointerException. – mrtn

Смежные вопросы