Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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 在伴生对象Kotlin中初始化ImageView_Android_Kotlin_Kotlin Companion - Fatal编程技术网

Android 在伴生对象Kotlin中初始化ImageView

Android 在伴生对象Kotlin中初始化ImageView,android,kotlin,kotlin-companion,Android,Kotlin,Kotlin Companion,我试图在companion对象中初始化ImageView,因为我希望这些方法是静态的,但我有一个错误,下面是我的代码吗 companion object { lateinit var bufferingAnimation : LoadingAnimation var bufferingIndicator = findViewById(R.id.loading) fun startBufferingAnimation() { bufferingAnimati

我试图在companion对象中初始化ImageView,因为我希望这些方法是静态的,但我有一个错误,下面是我的代码吗

companion object {
    lateinit var bufferingAnimation : LoadingAnimation
    var bufferingIndicator = findViewById(R.id.loading)
    fun startBufferingAnimation() {
        bufferingAnimation = LoadingAnimation(bufferingIndicator)
        bufferingAnimation.startAnimation()
    }

    fun stopBufferingAnimation() {
        bufferingAnimation.clearAnimation()
    }

}

我无法初始化bufferingIndicator是否有其他方法?

不建议创建静态视图,因为这可能会导致内存泄漏,但如果仍然需要静态视图,可以尝试以下方法:-

companion object {
        lateinit var imageView: ImageView
    }

 override fun onCreate(savedInstanceState: Bundle?) {
        imageView  =findViewById<ImageView>(R.id.imageView)
    }
伴生对象{
lateinit var imageView:imageView
}
重写创建时的乐趣(savedInstanceState:Bundle?){
imageView=findViewById(R.id.imageView)
}

不建议创建静态视图,因为这可能会导致内存泄漏,但如果仍然需要静态视图,可以尝试以下操作:-

companion object {
        lateinit var imageView: ImageView
    }

 override fun onCreate(savedInstanceState: Bundle?) {
        imageView  =findViewById<ImageView>(R.id.imageView)
    }
伴生对象{
lateinit var imageView:imageView
}
重写创建时的乐趣(savedInstanceState:Bundle?){
imageView=findViewById(R.id.imageView)
}

如果要在运行时初始化图像视图:-

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_image_view_example)
        val constraintLayout = findViewById(R.id.constraintLayout) as ConstraintLayout
        val imageView = ImageView(this)
        imageView.setImageResource(R.drawable.android_logo)
        constraintLayout.addView(imageView)
    }
如果您有xml格式的
图像视图
:-

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // get reference to ImageView
        val imageView = findViewById(R.id.iv_click_me) as ImageView
    }

如果要在运行时
初始化图像视图
:-

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_image_view_example)
        val constraintLayout = findViewById(R.id.constraintLayout) as ConstraintLayout
        val imageView = ImageView(this)
        imageView.setImageResource(R.drawable.android_logo)
        constraintLayout.addView(imageView)
    }
如果您有xml格式的
图像视图
:-

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // get reference to ImageView
        val imageView = findViewById(R.id.iv_click_me) as ImageView
    }

谢谢,我还有一个问题,如果我们在companion对象中定义onCreate,那么所有其他视图都应该定义为静态?@vinaykumar我们不能在companion下定义onCreate,也不能在onCreate下定义companion。是的,我被括号弄糊涂了。我得到了它。谢谢你的帮助。如果你觉得它有用,请接受答案,这样其他人可能会觉得它有用:)是的,是的,我试图提高投票率,但我没有足够的声誉,再次感谢:)谢谢你,我还有一个问题,所以如果我们在companion对象中定义onCreate,那么所有其他视图都应该静态定义?@vinaykumar我们不能在companion下定义onCreate,也不能在onCreate下定义companion。它应该是类级访问。是的,我被括号弄糊涂了。我得到了它。谢谢你的帮助。如果你觉得它有用,请接受答案,这样其他人可能会觉得它有用:)是的,是的,我试图提高投票率,但我没有足够的声誉,再次感谢:)这是因为val imageView=imageView(this)imageView.setImageResource(R.drawable.android_徽标)此val imageView的Ths=imageView(此)imageView.setImageResource(R.drawable.android_徽标)