So I have a Fragment known as LoginHomeFragment which contains buttons to 2 fragments of my app, RegisterFragment & LoginFragment The button click for RegisterFragment works perfectly But when the LoginFragment button is clicked, the app automatically closes. This is the same when I redirect to the LoginFragment from my RegisterFragment. The code for my app is the following:-
LoginHomeFragment.kt
class LoginHomeFragment : Fragment() {
override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    var view = inflater.inflate(R.layout.fragment_login_home, container, false)
    view.findViewById<Button>(R.id.btn_dir_register).setOnClickListener {
        var navRegister = activity as FragmentNavigation
        navRegister.navigateFrag(RegisterFragment(), false)
    }
    view.findViewById<Button>(R.id.btn_dir_login).setOnClickListener {
        var navRegister = activity as FragmentNavigation
        navRegister.navigateFrag(LoginFragment(), false)
    }
    return view
}
}
LoginFragment.kt
class LoginFragment : Fragment() {
private lateinit var username: EditText
private lateinit var password: EditText
private lateinit var forgot: EditText
private lateinit var fAuth: FirebaseAuth
override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    val view =  inflater.inflate(R.layout.fragment_login, container, false)
    username = view.findViewById(R.id.log_username)
    password = view.findViewById(R.id.log_password)
    fAuth = Firebase.auth
    forgot = view.findViewById(R.id.forgot_pwd)
    view.findViewById<Button>(R.id.btn_register).setOnClickListener {
        val navRegister = activity as FragmentNavigation
        navRegister.navigateFrag(RegisterFragment(), false)
    }
    view.findViewById<Button>(R.id.btn_login).setOnClickListener {
        validateForm()
    }
    forgot.setOnClickListener {
        forgotpassword()
    }
    return view
}
private fun forgotpassword() {
    val icon = AppCompatResources.getDrawable(requireContext(), R.drawable.ic_warning)
    icon?.setBounds(0, 0, icon.intrinsicWidth, icon.intrinsicHeight)
    when {
        TextUtils.isEmpty(username.text.toString().trim()) -> {
            username.setError("Please Enter Your Registered Email-Id", icon)
        }
        username.text.toString().isNotEmpty() -> {
            if (username.text.toString().matches(Regex("[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+"))) {
                Firebase.auth.sendPasswordResetEmail(username.text.toString())
                    .addOnCompleteListener { task ->
                        if (task.isSuccessful) {
                            Log.d(TAG, "Password reset email sent.")
                        } else {
                            Toast.makeText(context, task.exception?.message, Toast.LENGTH_SHORT).show()
                        }
                    }
            } else {
                username.setError("Please enter valid email-id.", icon)
            }
        }
    }
}
private fun validateForm() {
    val icon = AppCompatResources.getDrawable(requireContext(),R.drawable.ic_warning)
    icon?.setBounds(0,0,icon.intrinsicWidth,icon.intrinsicHeight)
    when{
        TextUtils.isEmpty(username.text.toString().trim())->{
            username.setError("Please Enter Username", icon)
            btn_register_reg.isEnabled = false
        }
        TextUtils.isEmpty(password.text.toString().trim())->{
            password.setError("Please Enter Password", icon)
            btn_register_reg.isEnabled = false
        }
        username.text.toString().isNotEmpty() &&
                password.text.toString().isNotEmpty() -> {
            if (username.text.toString().matches(Regex("[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+"))) {
                firebaseSignIn()
            } else {
                username.setError("Please enter valid email-id.", icon)
            }
        }
    }
}
private fun firebaseSignIn() {
    btn_login.isEnabled = false
    btn_login.alpha = 0.5f
    fAuth.signInWithEmailAndPassword(username.text.toString(), password.text.toString())
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Toast.makeText(context, "Login Successful", Toast.LENGTH_SHORT).show()
                    activity?.let {
                        val intent = Intent(it, HomeActivity::class.java)
                        it.startActivity(intent)
                    }
            } else {
                btn_login.isEnabled = true
                btn_login.alpha = 1f
                Toast.makeText(context, task.exception?.message, Toast.LENGTH_SHORT).show()
            }
        }
}
}
fragment_login.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".LoginFragment">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:focusableInTouchMode="true"
    android:orientation="vertical">
    <ImageView
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:layout_marginTop="90dp" />
    <!-- TODO add the image -->
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="MedDrone"
        android:textColor="#000"
        android:textSize="15dp"
        android:layout_marginTop="11dp" />
    <com.google.android.material.textfield.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Email"
        app:boxBackgroundColor="#F8E9FD"
        android:layout_marginTop="50dp"
        android:layout_marginStart="40dp"
        android:layout_marginEnd="40dp">
        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/log_username"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </com.google.android.material.textfield.TextInputLayout>
    <com.google.android.material.textfield.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Password"
        app:boxBackgroundColor="#F8E9FD"
        android:layout_marginTop="10dp"
        android:layout_marginStart="40dp"
        android:layout_marginEnd="40dp">
        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/log_password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword"/>
    </com.google.android.material.textfield.TextInputLayout>
    <com.google.android.material.textfield.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:boxBackgroundColor="#F8E9FD"
        android:layout_marginTop="10dp"
        android:layout_marginStart="40dp"
        android:layout_marginEnd="40dp">
        <com.google.android.material.textview.MaterialTextView
            android:id="@+id/forgot_pwd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Forgot Password?"
            android:textColor="@color/zm_red"/>
    </com.google.android.material.textfield.TextInputLayout>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp">
        <com.google.android.material.button.MaterialButton
            android:id="@+id/btn_login"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_marginEnd="40dp"
            android:text="Login" />
        <com.google.android.material.button.MaterialButton
            android:id="@+id/btn_register"
            style="@style/Widget.MaterialComponents.Button.TextButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="40dp"
            android:layout_toLeftOf="@+id/btn_login"
            android:text="Register" />
    </RelativeLayout>
</LinearLayout>
</ScrollView>
LogCat
2022-01-05 17:12:47.303 19721-19721/com.rgoel.meddrone E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.rgoel.meddrone, PID: 19721
java.lang.ClassCastException: com.google.android.material.textview.MaterialTextView cannot be cast to android.widget.EditText
    at com.rgoel.meddrone.LoginFragment.onCreateView(LoginFragment.kt:38)
    at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
    at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
    at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
    at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
    at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
    at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
    at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:254)
    at android.app.ActivityThread.main(ActivityThread.java:8231)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)
