应用程序一打开,我就使用2秒倒计时。2秒钟后,我看到了线性布局和不可见的进度条。我之所以使用它,是因为我可以通过firebase提取所有数据,并将其分配给相应的文本框。但是,如果我在倒计时期间传递到另一个活动,程序就会崩溃。
object : CountDownTimer(1000, 1000) {
override fun onTick(p0: Long) {
}
override fun onFinish() {
linearLayout_profile.visibility = View.VISIBLE
progressBar_profile.visibility = View.INVISIBLE
}
}.start()
2020-12-10 00:50:24.118 1742-1742/com.burakergun.emre E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.burakergun.emre, PID: 1742
java.lang.NullPointerException: linearLayout_profile must not be null
at com.burakergun.emre.Fragment.ProfileFragment$onViewCreated$3.onFinish(ProfileFragment.kt:66)
at android.os.CountDownTimer$1.handleMessage(CountDownTimer.java:127)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
2020-12-10 00:50:24.185 1742-1742/com.burakergun.emre I/Process: Sending signal. PID: 1742 SIG: 9
我检查了logcat并显示了致命错误。错误说明linearlayout\u profile不能为空。linearlayout\u profile如何为空。我不明白那部分。
2条答案
按热度按时间vsaztqbk1#
当您传递到另一个活动时,应该销毁计时器
dfuffjeb2#
linearlayout_profile
为null,因为您导航到另一个活动,并且没有对的引用linearlayout_profile
因此为空。您需要添加null检查以防止崩溃。