相关的实现详细信息
我试图为Android类实现主要处理程序。
我如何以弱参考活动来实例化myhandler对象?
class MainActivity: AppCompatActivity {
class MyHandler(var mActivityRef: WeakReference<MainActivity>): Handler(){
override fun handleMessage(msg: Message?) {
var activity: MainActivity? = mActivityRef.get()// get actual object from weak reference
if(activity != null) {
if (msg?.what == 0) {
//...some logic
}
}
}
}
}
我认为最好直接通过构造函数中的 Activity
实例,而只是做
this.weaActivity = new WeakReference<MyActivity>(activityRef);
MyHandler
之外的类无需知道Activity
保存到Reference
中。这是仅与MyHandler