场景转换后,OnClick侦听器消失了

时间:2018-06-22 17:02:01

标签: android transitions scene

所以我有两个场景被放大到场景根目录中,这是一个框架布局。

<!--Scene Root-->
<FrameLayout
    android:id="@+id/sceneRoot"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_marginTop="8dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/imageLogo" />

两个场景都有在两个场景之间切换的按钮。我将它们设置为这样的代码。

sceneWelcome.setEnterAction {
    Log.d(TAG, "onEnter Welcome")
    buttonGetStarted.setOnClickListener(this)
}
sceneInviteCode.setEnterAction {
    Log.d(TAG, "onEnter Invite")
    buttonConfirmInvite.setOnClickListener(this)
}

TransitionManager.go(sceneWelcome, Fade())

这是在活动中的onCreate()上完成的。像这样通过活动实现onClick侦听器。

override fun onClick(view: View?) {
    when (view?.id) {
        buttonGetStarted.id -> {
            Log.d(TAG, "getStarted clicked")
            TransitionManager.go(sceneInviteCode, Slide())
        }
        buttonConfirmInvite.id -> {
            Log.d(TAG, "confirmInvite clicked")
            TransitionManager.go(sceneWelcome, Fade())
        }
    }
}

转换第一次起作用,但是当第二次单击第一个按钮时,我确实收到了“ getStarted clicked”的日志消息,但是再次单击按钮时,转换不会切换回第二个场景。 / p>

有什么想法吗?

0 个答案:

没有答案