出错:
java.lang.NullPointerException
Attempt to invoke virtual method 'void android.support.v4.app.FragmentActivity.
runOnUiThread(java.lang.Runnable)'
on a null object reference
出错位置:
new Thread() {
public void run() {
final UserInfoModel model = HttpHelper.getHeper ().getUserInfo ();
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
}
}.start();
分析:
这是由于当线程结束时activity变得不可见。
getActivity()有可能为空,需要提前判断
解决:
new Thread() {
public void run() {
if (!isDestroy(getActivity()) && isAdded()){
final UserInfoModel model = HttpHelper.getHeper ().getUserInfo ();
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
}
}
}.start();
protected boolean isDestroy(Activity activity) {
return activity == null || activity.isFinishing() ||
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && activity.isDestroyed());
}