CodexBloom - Programming Q&A Platform

Unexpected NullPointerException When Accessing Fragment Arguments in Activity on Android 14

👀 Views: 3 đŸ’Ŧ Answers: 1 📅 Created: 2025-06-08
android kotlin fragment

I'm stuck on something that should probably be simple. I'm sure I'm missing something obvious here, but I'm working with a `NullPointerException` when trying to access arguments passed to a Fragment from an Activity. My setup involves using `Fragment` arguments to pass data between my `MainActivity` and `MyFragment`. The code looks like this: In my `MainActivity`, I initialize the fragment and pass the arguments: ```kotlin val myFragment = MyFragment().apply { arguments = Bundle().apply { putString("key", "value") } } ``` Then I add the fragment to the activity: ```kotlin supportFragmentManager.beginTransaction() .replace(R.id.fragment_container, myFragment) .commit() ``` In `MyFragment`, I try to retrieve the argument in `onCreateView`: ```kotlin override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { val value = arguments?.getString("key") ?: throw NullPointerException("Argument 'key' is null") // rest of the code } ``` However, I'm getting the following behavior in the logcat: ``` java.lang.NullPointerException: Argument 'key' is null ``` I verified that the argument is set in `MainActivity`, and I'm running this on Android 14 with Kotlin 1.8. I'm confused as to why the `arguments` are null when the Fragment is created. Is there something I'm missing in the Fragment lifecycle or how I'm passing the arguments? I've tried moving the retrieval logic to `onViewCreated`, but the scenario continues. Any help would be appreciated! I'm working on a CLI tool that needs to handle this. Is there a better approach? This is part of a larger web app I'm building. What's the best practice here?