1

I have included a layout file within my activity and trying to access the text view to set the title during which it returns NullPointerException. Here is my Program and Logcat.

SplashActivity.kt

class SplashActivity : AppCompatActivity() {

      private var mBinding: ActivitySplashBinding? = null
      private var customHeaderBinding: CustomHeaderLayoutBinding? = null

      override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        mBinding = ActivitySplashBinding.inflate(layoutInflater)
        customHeaderBinding = CustomHeaderLayoutBinding.bind(mBinding!!.root)
        setContentView(mBinding?.root)

        customHeaderBinding?.headerTitle?.text = "New Title"

      }
   }

activity_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".activity.SplashActivity">

    <include
        android:id="@+id/splash_header"
        layout="@layout/custom_header_layout"/>

    <RelativeLayout
        android:id="@+id/splash_screen_frame_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <androidx.appcompat.widget.AppCompatImageView
            android:id="@+id/splash_iv_intro_vid"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerInParent="true"
            android:adjustViewBounds="true"
            android:background="@drawable/ir_splash"
            android:scaleType="fitXY" />

         .........

    </RelativeLayout>

</LinearLayout>

custom_header_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="@dimen/_18sdp"
        android:background="@color/black">

        <com.project.custom.CustomBoldTextView
            android:id="@+id/header_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="@string/device_header_main_label"
            android:textColor="@color/white"
            android:textSize="@dimen/_8ssp"
            android:textStyle="bold" />

    </RelativeLayout>

</merge>

Exception Log

FATAL EXCEPTION: main
                                                                                                    Process: com.demoapp, PID: 9247
                                                                                                    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.demoapp/com.demoapp.activity.SplashActivity}: java.lang.NullPointerException: Missing required view with ID: com.demoapp:id/splash_header
                                                                                                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4171)
                                                                                                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4317)
                                                                                                        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
                                                                                                        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
                                                                                                        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
                                                                                                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2576)
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                        at android.os.Looper.loopOnce(Looper.java:226)
                                                                                                        at android.os.Looper.loop(Looper.java:313)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:8772)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
                                                                                                    Caused by: java.lang.NullPointerException: Missing required view with ID: com.demoapp:id/splash_header
                                                                                                        at com.demoapp.databinding.ActivitySplashBinding.bind(ActivitySplashBinding.java:91)
                                                                                                        at com.demoapp.databinding.ActivitySplashBinding.inflate(ActivitySplashBinding.java:59)
                                                                                                        at com.demoapp.databinding.ActivitySplashBinding.inflate(ActivitySplashBinding.java:49)
                                                                                                        at com.demoapp.activity.SplashActivity.onCreate(SplashActivity.kt:29)
                                                                                                        at android.app.Activity.performCreate(Activity.java:8565)
                                                                                                        at android.app.Activity.performCreate(Activity.java:8544)
                                                                                                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
                                                                                                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4152)
                                                                                                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4317) 
                                                                                                        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101) 
                                                                                                        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
                                                                                                        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
                                                                                                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2576) 
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:106) 
                                                                                                        at android.os.Looper.loopOnce(Looper.java:226) 
                                                                                                        at android.os.Looper.loop(Looper.java:313) 
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:8772) 
                                                                                                        at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) 
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067) 

Thanks in advance.

Tried Solutions:

https://stackoverflow.com/a/67000023

https://stackoverflow.com/a/22972322

https://stackoverflow.com/a/51638633

0 Answers0