片段转换不适用于jetpack导航框架

Kal*_*aju 6 android android-navigation android-jetpack

即使在设置了enter,exit,popEnter和popExit过渡后,转换也不起作用.

<fragment
    android:id="@+id/introFragment"
    android:name="IntroFragment"
    android:label="IntroFragment" >
    <action
        android:id="@+id/action_introFragment_to_signinFragment"
        app:destination="@id/signinFragment"
        app:enterAnim="@anim/slide_from_right"
        app:exitAnim="@anim/slide_to_left"
        app:popEnterAnim="@anim/slide_from_left"
        app:popExitAnim="@anim/slide_to_right"
        app:popUpTo="@+id/nav_graph" />
    <action
        android:id="@+id/action_introFragment_to_signupFragment"
        app:destination="@id/signupFragment"
        app:enterAnim="@anim/slide_from_right"
        app:exitAnim="@anim/slide_to_left"
        app:popEnterAnim="@anim/slide_from_left"
        app:popExitAnim="@anim/slide_to_right"
        app:popUpTo="@+id/nav_graph" />
</fragment>
Run Code Online (Sandbox Code Playgroud)

我在用

def nav_version = "1.0.0-alpha05"
// Navigation Component - Jetpack
implementation "android.arch.navigation:navigation-fragment-ktx:$nav_version"
implementation "android.arch.navigation:navigation-ui-ktx:$nav_version"
androidTestImplementation "android.arch.navigation:navigation-testing-ktx:$nav_version"
Run Code Online (Sandbox Code Playgroud)

我的导航代码是

button.setOnClickListener(
            Navigation.createNavigateOnClickListener(R.id.signinFragment))
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Kal*_*aju 14

问题出在我的导航代码上.我必须将我的目标ID更改为操作ID,以便我的转换工作!

button.setOnClickListener(Navigation.createNavigateOnClickListener(
                                  R.id.action_introFragment_to_signinFragment))
Run Code Online (Sandbox Code Playgroud)

可能是因为我的目的地有多个动作.