从配套对象内的参考视图-Kotlin



我的目标是从类(和包(外部静态更新视图的状态。目前,我有一个类的配套对象和一个公共函数来实现这一点。

然而,当我试图从伴随对象中引用"父"的视图时,编译器会抱怨"未解析引用"。有人知道正确的方法吗?提前感谢!

class MyActivity: AppCompatActivity() {
companion object {
fun updateDisplay(message: String) {
mTextView.text = message // Unresolved reference: mTextView
}
}
@BindView(R.id.my_text_view) lateinit var mTextView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.my_activity)
ButterKnife.bind(this)
}
// ...
}

我不建议使用它,但我会把它留在这里,因为我在评论中学到了一些东西!(:

class MyActivity: AppCompatActivity() {
companion object {
// make a reference to the class instance in here
var instance: MyActivity? = null
fun updateDisplay(message: String) {
instance?.findViewById<TextView>(R.id.mTextView)?.let{
it.text = message 
}
}
}
@BindView(R.id.my_text_view) lateinit var mTextView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
instance = this // meaning it will always reference the most recent instance created
super.onCreate(savedInstanceState)
setContentView(R.layout.my_activity)
ButterKnife.bind(this)
}
// ...
}

最新更新