0

嘿,我在下面的代码上崩溃了。我正在尝试将 Toast 扩展一段时间,并在运行时“杀死” Toast onPause。我究竟做错了什么?timer.cancel()当我添加时 发生崩溃onPause

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():



}

}

4

1 回答 1

1

这是你可以做的。应用程序崩溃,因为 timer = null。计时器从未运行或设置。

在 onDestroy 和 onPause 中添加:

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

    }
于 2012-05-13T09:13:53.780 回答