Android 未选中警告-在编译期间使用安全参数传递数据时

Android 未选中警告-在编译期间使用安全参数传递数据时,android,bundle,android-architecture-navigation,android-jetpack-navigation,Android,Bundle,Android Architecture Navigation,Android Jetpack Navigation,我使用导航组件的安全参数在目的地之间传递数据 build.gradle apply插件:“androidx.navigation.safeargs.kotlin” MyType.kt @Keep @Parcelize class MyType( val type: String, val name: String ) : Parcelable nav_graph.xml <action android:id="@+id/startMyFragme

我使用导航组件的安全参数在目的地之间传递数据

build.gradle
apply插件:“androidx.navigation.safeargs.kotlin”

MyType.kt

@Keep
@Parcelize
class MyType(
        val type: String,
        val name: String
) : Parcelable
nav_graph.xml

<action android:id="@+id/startMyFragment"
    app:destination="@+id/myFragment">
    <argument
        android:name="myArg"
        app:argType="com.myapp.MyType"
        app:nullable="false" />
</action>

提前感谢

在我的Navgraph中,参数不在动作中,这里每个片段将参数发送给另一个:

除safeargs库外,ich还有以下内容:

def nav_version = '2.3.0'
    // Kotlin
    implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
    implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
导航图:

     <fragment
            android:id="@+id/fragmentX"
            android:name="package.FragmentX"
            android:label="Fragment 1">

        <argument
                android:name="userinput"
                app:argType="package.dataclasses.UserParcel"
                app:nullable="true"
                android:defaultValue="@null" />
        <action
                android:id="@+id/action_fragmentX_to_fragmentY"
                app:destination="@id/fragmentY"
               />
    </fragment>

    <fragment
                android:id="@+id/fragmentY"
                android:name="package.FragmentY"
                android:label="Fragment 2"
              >
          
            <argument
                    android:name="useripnut"
                    app:argType="package.dataclasses.UserParcel"
                app:nullable="true"
                android:defaultValue="@null" />
      
        <action
                android:id="@+id/action_fragmentY_to_fragmentX"
                app:destination="@id/fragmentX"  />
        
    </fragment>
如何将数据传递到片段Y:

 val navController = activity?.findNavController(R.id.navHost)
                            navController?.navigate(FragmentXDirections.actionFragmentXToFragmentY(userParcel))

在我的Navgraph中,参数不在动作中,这里每个片段将参数发送给另一个:

除safeargs库外,ich还有以下内容:

def nav_version = '2.3.0'
    // Kotlin
    implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
    implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
导航图:

     <fragment
            android:id="@+id/fragmentX"
            android:name="package.FragmentX"
            android:label="Fragment 1">

        <argument
                android:name="userinput"
                app:argType="package.dataclasses.UserParcel"
                app:nullable="true"
                android:defaultValue="@null" />
        <action
                android:id="@+id/action_fragmentX_to_fragmentY"
                app:destination="@id/fragmentY"
               />
    </fragment>

    <fragment
                android:id="@+id/fragmentY"
                android:name="package.FragmentY"
                android:label="Fragment 2"
              >
          
            <argument
                    android:name="useripnut"
                    app:argType="package.dataclasses.UserParcel"
                app:nullable="true"
                android:defaultValue="@null" />
      
        <action
                android:id="@+id/action_fragmentY_to_fragmentX"
                app:destination="@id/fragmentX"  />
        
    </fragment>
如何将数据传递到片段Y:

 val navController = activity?.findNavController(R.id.navHost)
                            navController?.navigate(FragmentXDirections.actionFragmentXToFragmentY(userParcel))

您可以在设置这些参数的地方添加代码段吗?请检查上面的代码段(nav_graph.xml)我的意思是,您在哪里传递这些参数,即:
Navigation.findNavController(view)。navigate
val directions=MyDirection.actionStartMyFragment(label,detailArgs)Navigation.findNavController(view)。Navigation(directions)你在哪里调用
setArgs(MyType())
?你能在设置这些args的地方添加代码段吗?请检查上面的代码段(nav_graph.xml)我的意思是你在哪里传递这些args,即:
Navigation.findNavController(view)。navigate
val directions=MyDirection.actionStartMyFragment(label,detailArgs)Navigation.findNavController(view)。Navigation(directions)在哪里调用
setArgs(MyType())