How do I have two methods in kotlin file?

Right now in my kt file I’m trying to run verifyUserLoggedIn method in my UserHomeActivity. But my issue is verifyUserLoggedIn is crashing my app upon starting up. If I remove verifyUserLoggedIn() and whole line of code for private fun verifyUserLoggedIn() , my app will start up and run as normal. What am I doing wrong? I’m pretty sure I am implementing verifyUserLoggedIn() wrong. I’m new to kotlin coding and unsure how to get two or more methods in one kotlin file.

`class UserHomeActvitiy : AppCompatActivity() {`

    private lateinit var homebtn: ImageButton
    private lateinit var searchbtn: ImageButton
    private lateinit var personbtn: ImageButton
    private lateinit var settingsbtn: ImageButton
    private lateinit var mViewPager: ViewPager
    private lateinit var mPagerAdapter: PagerAdapter

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_userhome)

        verifyUserLoggedIn()
    }

    private fun verifyUserLoggedIn() {
        val uid = FirebaseAuth.getInstance().uid
        if (uid == null) {
            val intent = Intent(this, RegisterActivity::class.java)
            intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK.or(Intent.FLAG_ACTIVITY_NEW_TASK)
            startActivity(intent)
        }

        mViewPager = findViewById(R.id.mViewPager)
        //image button
        homebtn = findViewById(R.id.homebtn)
        searchbtn = findViewById(R.id.searchbtn)
        personbtn = findViewById(R.id.personbtn)
        settingsbtn = findViewById(R.id.settingsbtn)

        //onclick listener

        homebtn.setOnClickListener {
            mViewPager.currentItem = 0

        }

        searchbtn.setOnClickListener {

            mViewPager.currentItem = 1

        }

        personbtn.setOnClickListener {
            mViewPager.currentItem = 2

        }

        settingsbtn.setOnClickListener {
            mViewPager.currentItem = 3

        }

        mPagerAdapter = PagerAdapater(supportFragmentManager)
        mViewPager.adapter = mPagerAdapter
        mViewPager.offscreenPageLimit = 3

        mViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
            override fun onPageScrolled(
                position: Int,
                positionOffset: Float,
                positionOffsetPixels: Int
            ) {

            }

            override fun onPageSelected(position: Int) {
                changeTabs(position)
            }

            override fun onPageScrollStateChanged(state: Int) {}
        })

        //default screen
        mViewPager.currentItem = 0
        homebtn.setImageResource(R.drawable.ic_home_orange)

    }

    private fun changeTabs(position: Int) {


        if (position == 0) {
            homebtn.setImageResource(R.drawable.ic_home_orange)
            searchbtn.setImageResource(R.drawable.ic_search_black)
            personbtn.setImageResource(R.drawable.ic_person_black)
            settingsbtn.setImageResource(R.drawable.ic_settings_black)

        }
        if (position == 1) {
            homebtn.setImageResource(R.drawable.ic_home_black)
            searchbtn.setImageResource(R.drawable.ic_search_orange)
            personbtn.setImageResource(R.drawable.ic_person_black)
            settingsbtn.setImageResource(R.drawable.ic_settings_black)

        }
        if (position == 2) {
            homebtn.setImageResource(R.drawable.ic_home_black)
            searchbtn.setImageResource(R.drawable.ic_search_black)
            personbtn.setImageResource(R.drawable.ic_person_orange)
            settingsbtn.setImageResource(R.drawable.ic_settings_black)

        }
        if (position == 3) {
            homebtn.setImageResource(R.drawable.ic_home_black)
            searchbtn.setImageResource(R.drawable.ic_search_black)
            personbtn.setImageResource(R.drawable.ic_person_black)
            settingsbtn.setImageResource(R.drawable.ic_settings_orange)
        }
    }
}

Error logs would be really helpful whenever posting a question asking why code is crashing, just for the future.

One thing that jumps out at me is that you have your Views declared as lateinit – which is totally fine – but findViewById(Int) is a Java method which is not annotated with @NonNull. This means that if any one of those calls to findViewById(Int) returns a null (i.e. the Activity can’t find the View), you will try to assign null to a non-null object which will throw an exception and crash the app. I’d step through those assignments in a debugger to see if that’s the cause.

Just to cover all my bases, Java methods annotated with @NonNull (or any of the other variants) does not enforce that the method return a non-null value. The Java compiler doesn’t really have a way to enforce that a non-null value is returned from a method annotated @NonNull. The best it can do is give you a warning. Of course, if whoever wrote the method annotated it with @NonNull and then returns a null value from that method, that’s their fault and they need to fix it.