代码之家  ›  专栏  ›  技术社区  ›  Kalyan Dechiraju

片段转换在jetpack导航框架中不起作用

  •  2
  • Kalyan Dechiraju  · 技术社区  · 7 年前

    即使在设置了输入、退出、弹出器和弹出式转换之后,过渡也不起作用。

    <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>
    

    我在用

    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"
    

    我的导航代码是

    button.setOnClickListener(
                Navigation.createNavigateOnClickListener(R.id.signinFragment))
    

    1 回复  |  直到 7 年前
        1
  •  15
  •   Kalyan Dechiraju    7 年前

    问题出在我的导航代码上。我必须将目的地id更改为操作id才能进行工作转换!

    button.setOnClickListener(Navigation.createNavigateOnClickListener(
                                      R.id.action_introFragment_to_signinFragment))
    

    可能是因为我的目的地上有多个操作。