threadid=1: thread sortir avec uncaught exception (groupe=0x4001d5a0)

Pendant la programmation d'un compte à rebours de script dans la barre d'état, mais je suis toujours forcé ferme lorsque j'appelle l'
fonction OnClickListener détruire, à tuer l'application).
Je pense que quelque chose est incorrect avec le 'myNotificationManager.annuler(1); " mais je ne peux pas comprendre ce qui est l'erreur.

Voici mon code

public class ZaagmanActivity extends Activity {
public Handler handler = new Handler();
public NotificationManager myNotificationManager;
private static final int NOTIFICATION_ID = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.refresh);
button.setOnClickListener(refresh);
Button button1 = (Button)findViewById(R.id.destroy);
button1.setOnClickListener(destroy);
Button button2 = (Button)findViewById(R.id.counter);
button2.setOnClickListener(counter);
//test
}
private void GeneratNotification(){
myNotificationManager =
(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
CharSequence NotificationTicket = "Counter gestart";
CharSequence NotificationTitle = "Zaagmans Counter";
CharSequence NotificationContent = Nextwedsmall();
long when = System.currentTimeMillis();
Notification notification = new Notification(R.drawable.poppetje,NotificationTicket, when);
Context context = getApplicationContext();
Intent notificationIntent = new Intent(this,ZaagmanActivity.class);
PendingIntent contentIntent =
PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, NotificationTitle,
NotificationContent, contentIntent);
myNotificationManager.notify(NOTIFICATION_ID, notification);
}
private OnClickListener destroy = new OnClickListener() {
public void onClick(View v) {
System.out.println("Closing");
myNotificationManager.cancel(1);
handler.removeCallbacks(notification);
finish();
}
}; 
private OnClickListener counter = new OnClickListener() {
public void onClick(View v) {
notification.run();
}
}; 
private OnClickListener refresh = new OnClickListener() {
public void onClick(View v) {
refresh();
Button button1 = (Button)findViewById(R.id.destroy);
button1.setOnClickListener(destroy);
; 
}
}; 
private final Runnable showtext = new Runnable()  {
public void run()  {
TextView t=new TextView(getApplicationContext()); 
t=(TextView)findViewById(R.id.t);
t.setText(Nextwed());
handler.postDelayed(this, 500);
}
};
private final Runnable notification = new Runnable()  {
public void run()  {
GeneratNotification();
handler.postDelayed(this, 500);
}
};  
public Calendar Nextwednesday(int dow){
Calendar date = Calendar.getInstance();
int diff = dow - date.get(Calendar.DAY_OF_WEEK);
if (!(diff > 0)) {
diff += 7;
}
date.add(Calendar.DAY_OF_MONTH, diff);
date.set(Calendar.HOUR_OF_DAY, 12);
System.out.println(date);
return date;
} public String Nextwedsmall() {
//
long wednes = Nextwednesday(Calendar.WEDNESDAY).getTimeInMillis();
System.out.println(wednes);
Date date = new Date();   //given date
Calendar date2 = GregorianCalendar.getInstance(); //creates a new calendar instance
date2.setTime(date); 
long now = date2.getTimeInMillis();
long zaagmans = wednes - now;
System.out.println("time "+date2.getTime());
long Hour = date2.get(Calendar.HOUR_OF_DAY);
Hour = Hour -2;
long Minute = date2.get(Calendar.MINUTE);
long Seconds = date2.get(Calendar.SECOND);
long mSeconds = date2.get(Calendar.MILLISECOND);
float total = (mSeconds + (1000*Seconds) + (60*1000 * Minute) + (60*60*1000 * Hour));
zaagmans = (long) (zaagmans - total + (11*60*60*1000));
long days  = zaagmans / (1000*60*60*24);
long hours = zaagmans / (1000*60*60) ;
long mins  = zaagmans / (1000*60) ;
long  secs  =  zaagmans / 1000 ;
long dd = days;
long  hh = hours - days  * 24;
long  mm = mins  - hours * 60;
long  ss = secs  - mins  * 60;
System.out.println(date2);
date2.clear();
return (dd+" dag(en), "+hh+" uur(en), "+mm+" minuten en "+ss+" seconden");
}
public String Nextwed() {
//
long wednes = Nextwednesday(Calendar.WEDNESDAY).getTimeInMillis();
System.out.println(wednes);
Date date = new Date();   //given date
Calendar date2 = GregorianCalendar.getInstance(); //creates a new calendar instance
date2.setTime(date); 
long now = date2.getTimeInMillis();
long zaagmans = wednes - now;
System.out.println("time "+date2.getTime());
long Hour = date2.get(Calendar.HOUR_OF_DAY);
Hour = Hour - 13;
long Minute = date2.get(Calendar.MINUTE);
long Seconds = date2.get(Calendar.SECOND);
long mSeconds = date2.get(Calendar.MILLISECOND);
float total = (mSeconds + (1000*Seconds) + (60*1000 * Minute) + (60*60*1000 * Hour));
zaagmans = (long) (zaagmans - total);
long days  = zaagmans / (1000*60*60*24);
long hours = zaagmans / (1000*60*60) ;
long mins  = zaagmans / (1000*60) ;
long  secs  =  zaagmans / 1000 ;
long dd = days;
long  hh = hours - days  * 24;
long  mm = mins  - hours * 60;
long  ss = secs  - mins  * 60;
System.out.println(date2);
date2.clear();
return ("Dagen: "+dd+", Uren: "+hh+", Minuten: "+mm+", Seconden: "+ss+"  ");
}
public void refresh(){
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_WEEK);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
hour = hour + 2; 
if(day==4 && hour >= 12){
System.out.println("woensdag");
setContentView(R.layout.zaagmans);
}
else if(day==5){
System.out.println("donderdag");
setContentView(R.layout.zaagmans);
}
else if(day==6 && hour <= 17){
System.out.println("vrijdag");
setContentView(R.layout.zaagmans);
}
else if(day==6 && hour > 17){
System.out.println("vrijdag"); 
setContentView(R.layout.weekend);
}
else if(day==7 || day==1){
System.out.println("Weekend");
setContentView(R.layout.weekend);
}
else{
setContentView(R.layout.jammer);
showtext.run();
}
}
}

Et voici mon journal

10-25 14:03:21.200: W/dalvikvm(12287): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
10-25 14:03:21.210: E/AndroidRuntime(12287): FATAL EXCEPTION: main
10-25 14:03:21.210: E/AndroidRuntime(12287): java.lang.NullPointerException
10-25 14:03:21.210: E/AndroidRuntime(12287):    at nl.zaagmans.ZaagmanActivity$5.run(ZaagmanActivity.java:128)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at nl.zaagmans.ZaagmanActivity$2.onClick(ZaagmanActivity.java:93)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at android.view.View.performClick(View.java:2532)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at android.view.View$PerformClick.run(View.java:9293)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at android.os.Handler.handleCallback(Handler.java:587)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at android.os.Handler.dispatchMessage(Handler.java:92)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at android.os.Looper.loop(Looper.java:143)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at android.app.ActivityThread.main(ActivityThread.java:4263)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at java.lang.reflect.Method.invokeNative(Native Method)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at java.lang.reflect.Method.invoke(Method.java:507)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-25 14:03:21.210: E/AndroidRuntime(12287):    at dalvik.system.NativeStart.main(Native Method)
La ligne est la ligne 128? Aussi, essayez de limiter votre code à un sscce
la date de retour; est la ligne 128 je vais raccourcir mon code

OriginalL'auteur Perrykipkerrie | 2011-10-25