2017-02-20 14 views
0

3つのシーンのAuthorizationActivityがあります。これはフィールドの数が異なるため、ユーザーが最初にアクティビティを実行したとき「スプラッシュシーン」、サインイン、サインアップ)、各ユーザーをクリックすると、同じアクティビティが表示されますが、シーンは異なります。戻るボタンでをクリックすると、シーンが変更されます。たとえば、サインインしているユーザーの場合は、バックスイングしてシーンをスプラッシュにします。Androidのシーンとトランジション、最初のシーンの後にロジックが機能しない

そして今、私は問題がある、彼は初めてでテキスト(検証作品、ロジック作品、すべてがクールです)を入力し、サインインに行ったとき、彼は戻って、そしてに再度行くことを決定サインイン私はサインインし、すべてのフィールドに正しくデバッグを満たした場合ので(ロジックが壊れている、検証が動作しない、物事は悪い)、

メモリが成長しているので、私は問題はシーンの複数のオブジェクトであると思います私のモデルが空であることを示しています。私は戻って

fun goSplashTransition(v: View) { 
    galleryBottomSheet.photoURI = null 
    userPhoto_SSM.setImageResource(R.drawable.ic_photo_upload_white_big) 

    TransitionManager.beginDelayedTransition(rootContainer_AS, changeBounds) 
    splashSceneFields.sceneRoot.visibility = View.GONE 

    val layoutParams = innerArcContainer_SSM.layoutParams 
    layoutParams.height = preAnimDimension 
    innerArcContainer_SSM.layoutParams = layoutParams 

    val pp = localRoot.layoutParams as LinearLayout.LayoutParams 
    pp.topMargin = 0 

    val animator = wellaLogo_SA.animate() 
    animator.scaleX(1f).scaleY(1f).duration = ANIM_DURATION 
    animator.start() 

    val alpha = this.toolbarControllers_SSM.animate().alpha(0f) 
    alpha.duration = ANIM_DURATION 
    alpha.start() 

    this.signUpContainer.animate().alpha(0f).start() 
    this.signUpContainer.visibility = View.GONE 
    this.wellaLogo_SA.visibility = View.VISIBLE 
    this.wellaLogo_SA.animate().alpha(1f).start() 


    TransitionManager.go(splashSceneFields) 
    back.isClickable = false 
    splashSceneFields.sceneRoot.visibility = View.VISIBLE 
} 
+0

シーン間で切り替えるコードをいくつか追加します。 – arjun

+0

@aju、私は上記のように全体的に切り替えています。すべては単純に –

+0

@ajuです。私はそれをKotlinに追加しました。 –

答えて

0
自分で

見つかりソリューション、シーンが来るたびに、私は、再びすべての私の見解を見つけなければならなかったリスナーを設定し、

fun goSignUpTransition(v: View) { 
     TransitionManager.beginDelayedTransition(rootContainer_AS, changeBounds) 
     back.isClickable = true 
     splashSceneFields.sceneRoot.visibility = View.GONE 
     val layoutParams = innerArcContainer_SSM.layoutParams 
     layoutParams.height = signUpHeaderHeight 
     innerArcContainer_SSM.layoutParams = layoutParams 

     val pp = localRoot.layoutParams as LinearLayout.LayoutParams 
     pp.topMargin = signUpMargin 

     this.signUpContainer.visibility = View.VISIBLE 
     this.signUpContainer.animate().alpha(1f).start() 
     this.wellaLogo_SA.visibility = View.GONE 
     this.wellaLogo_SA.animate().alpha(0f).start() 
     this.title_SSM.text = getString(R.string.sign_up_text) 

     val alpha = this.toolbarControllers_SSM.animate().alpha(1f) 
     alpha.duration = ANIM_DURATION 
     alpha.start() 

     TransitionManager.go(signUpScene) 
     splashSceneFields.sceneRoot.visibility = View.VISIBLE 

    } 

が行くすべてのヘルプ)

ゴーサインアップに感謝しますそうです。シーンはsetEnterActionでUIをバインドしたり、モデルを更新したり(これは私がやろうとしています)、setExitActionをリリース/クリア/アップデートする必要がある場合はそこで行います。

関連する問題