Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 可见性.x27;t应用于自定义活动中的视图_Android_Android Activity_Android Animation_Kotlin Android Extensions_Custom Activity - Fatal编程技术网

Android 可见性.x27;t应用于自定义活动中的视图

Android 可见性.x27;t应用于自定义活动中的视图,android,android-activity,android-animation,kotlin-android-extensions,custom-activity,Android,Android Activity,Android Animation,Kotlin Android Extensions,Custom Activity,我的应用程序中的每个活动在开始和结束时都有一个动画,因此我决定实现一个自定义活动类并从中继承我的活动: open class AnimatedActivity : Activity(), Animator.AnimatorListener { lateinit var expand : ObjectAnimator lateinit var shrink : ObjectAnimator lateinit var fadeIn : ObjectAnimator lateinit var fad

我的应用程序中的每个活动在开始和结束时都有一个动画,因此我决定实现一个自定义活动类并从中继承我的活动:

open class AnimatedActivity : Activity(), Animator.AnimatorListener {

lateinit var expand : ObjectAnimator
lateinit var shrink : ObjectAnimator
lateinit var fadeIn : ObjectAnimator
lateinit var fadeOut : ObjectAnimator

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    handleAnimation()
}

private fun handleAnimation() { //my animation code here }

override fun onAnimationEnd(p0: Animator?) {
    when (p0) {
        expand -> {
            this.findViewById<View>(R.id.base).background = null
            this.findViewById<View>(R.id.animCircle).visibility = View.GONE
            this.findViewById<View>(R.id.opacityContainer).visibility = View.VISIBLE
            fadeIn.start()
        }
    }
}

}
我的活动的
onAnimationEnd
方法:

override fun onAnimationEnd(p0: Animator?) {
    when (p0) {
        shrink -> {
            val data = Intent()
            if (playerRoles.size == numberOfPlayers) {
                data.putExtra("playerRoles", playerRoles)
                setResult(RESULT_OK, data)
            } else setResult(RESULT_CANCELED)
        }
    }

    super<AnimatedActivity>.onAnimationEnd(p0)
}
override-fun-onAnimationEnd(p0:Animator?){
时间(p0){
收缩->{
val data=Intent()
if(playerRoles.size==numberOfPlayers){
data.putExtra(“playerRoles”,playerRoles)
setResult(结果正常,数据)
}else setResult(结果\u已取消)
}
}
super.onAnimationEnd(p0)
}
我知道它是被执行的,因为行
this.findViewById(R.id.base).background=null
this.findViewById(R.id.opacityContainer).visibility=View.VISIBLE
对它们影响的视图有影响-如果
animcirle.visibility
设置为从xml消失,我可以看到视图

那么这里发生了什么,我如何让我的观点消失

更新

将id从
animCircle
更改为另一个,然后在
AnimatedActivity
中通过此id查找视图,解决了此问题。我想发生这种情况是因为我的
MainActivity
布局有一个id相同的视图-
animCircle
。所以问题是-那里发生了什么,为什么android搜索了错误的视图

override fun onAnimationEnd(p0: Animator?) {
    when (p0) {
        shrink -> {
            val data = Intent()
            if (playerRoles.size == numberOfPlayers) {
                data.putExtra("playerRoles", playerRoles)
                setResult(RESULT_OK, data)
            } else setResult(RESULT_CANCELED)
        }
    }

    super<AnimatedActivity>.onAnimationEnd(p0)
}