title: Why can't I get null as an argument when switching screens in navigation?
body: <p>I use <code>navigation</code> and <code>SafeArgs</code> to <code>switch screens</code> and <code>pass data</code>.</p>
  <p>When data is selected on screen <code>A</code>, data is transmitted at the same time as screen switching.</p>
  <p>However, there are times when screen <code>A</code> switches to screen <code>B</code> without any action.</p>
  <p>I decided to send <code>null</code> in this case.</p>
  <p>But I keep getting the following error:</p>
  <pre><code>E/AndroidRuntime: FATAL EXCEPTION: main
      Process: com.example.lightweight, PID: 9555
      java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
       Caused by: java.lang.reflect.InvocationTargetException
          at java.lang.reflect.Method.invoke(Native Method)
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130) 
       Caused by: java.lang.reflect.InvocationTargetException
          at java.lang.reflect.Method.invoke(Native Method)
          at androidx.navigation.NavArgsLazy.getValue(NavArgsLazy.kt:54)
          at androidx.navigation.NavArgsLazy.getValue(NavArgsLazy.kt:35)
          at com.example.lightweight.fragment.WriteRoutineFragment.getArgs(WriteRoutineFragment.kt:20)
          at com.example.lightweight.fragment.WriteRoutineFragment.onViewCreated(WriteRoutineFragment.kt:44)
          at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2985)
  </code></pre>
  <p><em><strong>navigation.xml</strong></em></p>
  <pre><code>&lt;fragment
          android:id=&quot;@+id/writeRoutine&quot;
          android:name=&quot;com.example.lightweight.fragment.WriteRoutineFragment&quot;
          android:label=&quot;fragment_write_routine&quot;
          tools:layout=&quot;@layout/fragment_write_routine&quot; &gt;
          &lt;action
              android:id=&quot;@+id/action_writeRoutineFragment_to_workoutListTabFragment&quot;
              app:destination=&quot;@id/workoutListTabFragment&quot; /&gt;
          &lt;argument
              android:name=&quot;workout&quot;
              app:argType=&quot;string&quot;
              app:nullable=&quot;true&quot; /&gt;
  &lt;/fragment&gt;
  </code></pre>
  <p><em><strong>In Adapter</strong></em></p>
  <pre><code>inner class ViewHolder(itemView: View, context: Context) : RecyclerView.ViewHolder(itemView) {
          private val tv: TextView = itemView.findViewById(R.id.workout)
  
          init {
              tv.setOnClickListener { view -&gt;
                  val workout = tv.text.toString()
                  val action: NavDirections = WorkoutListTabFragmentDirections.actionWorkoutListTabToWriteRoutine(workout)
                  view.findNavController().navigate(action)
              }
          }
  
          fun bind(item: String) {
              tv.text = item
          }
      }
  </code></pre>
  <p>what's the reason?</p>