As soon as the application opens, I use a 2-second countdown timer. After 2 second I visible linearlayout and invisible progressbar. The reason I use this is because I can pull all data through firebase and assign it to the corresponding text boxes. However, if I pass to another activity during the countdown timer, the program crashes.
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
I check the logcat and show the fatal error. The error says linearlayout_profile must be not null. How can linearlayout_profile be null. I dont understand that part.
Advertisement
Answer
linearlayout_profile
is null because you navigated to another activity and there is no reference to linearlayout_profile
and hence null.
You need to add null check to prevent the crash.