Android 未选中警告-在编译期间使用安全参数传递数据时
我使用导航组件的安全参数在目的地之间传递数据 build.gradleAndroid 未选中警告-在编译期间使用安全参数传递数据时,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
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())
?