2012-05-13 4 views
0

안녕하세요 아래 코드가 작동하지 않습니다. 이 실행될 때 토스트를 certan 양만큼 확장하려고하고 토스트를 "kill"합니다. 내가 뭘 잘못하고 있니? 내가 onPauseAndroid 확장 토스트 원인 충돌

private boolean checkInternetConnection() { 



    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    // test for connection 
    if (cm.getActiveNetworkInfo() != null 
      && cm.getActiveNetworkInfo().isAvailable() 
      && cm.getActiveNetworkInfo().isConnected()) { 

     splashTread.start(); 
     return true; 
    } else { 



     timer = new CountDownTimer(20000, 1000) 
     { 

      public void onTick(long millisUntilFinished) {toast.show();} 
      public void onFinish() {toast.cancel();} 

     }.start(); 



     return false; 
    } 
} 



@Override 
protected void onDestroy() { 
    // TODO Auto-generated method stub 
    super.onDestroy(); 
    finish(); 
timer.cancel(): 
} 



@Override 
protected void onPause() { 
    // TODO Auto-generated method stub 
    super.onPause(); 
    finish(); 
    timer.cancel(): 



} 

}

답변

1

timer.cancel()를 추가 할 때 충돌이 여기에 당신이 할 수있는 것입니다 occures. 타이머 = null이기 때문에 앱이 다운됩니다. 타이머가 한번도 실행되거나 설정되지 않았습니다.

들의 OnDestroy와 onPause 모두이 추가 :

if (timer != null) { 
     timer.cancel(); 

    }