给定以下代码
private static class MyHandler extends Handler
{
private final WeakReference<MainActivity> mTarget;
MyHandler(MainActivity intarget) {
mTarget = new WeakReference<MainActivity>(intarget);
}
@Override
public void handleMessage(Message msg)
{
MainActivity target = mTarget.get(); // target becomes null will causes null pointer exception
switch (msg.what) {
..
}
}
}
为了避免NullPointerException,我可以使用以下方法:
if(target != null {
// do something
}
但是当目标变成null时,我无法在应用程序中继续进行。
问题:
是否有办法在目标变为空时重新获取它并继续执行,还是应该结束活动或应用程序?
谢谢。