[英]Initialize ImageView in companion Object Kotlin
我正在嘗試在隨播對象中初始化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)
}
如果要在運行時initialise image view
:-
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中有image view
:
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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.