diff --git a/app/src/main/java/sample/kingja/loadsir/PostUtil.java b/app/src/main/java/sample/kingja/loadsir/PostUtil.java index f3ea9e3..1778e9e 100644 --- a/app/src/main/java/sample/kingja/loadsir/PostUtil.java +++ b/app/src/main/java/sample/kingja/loadsir/PostUtil.java @@ -5,6 +5,8 @@ import com.kingja.loadsir.callback.Callback; import com.kingja.loadsir.core.LoadService; +import java.lang.ref.WeakReference; + /** * Description:TODO * Create Time:2017/9/4 15:21 @@ -28,11 +30,22 @@ public static void postSuccessDelayed(final LoadService loadService) { } public static void postSuccessDelayed(final LoadService loadService, long delay) { - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - loadService.showSuccess(); + new Handler().postDelayed(new SuccessRunnable(loadService), delay); + } + + private static class SuccessRunnable implements Runnable { + + private WeakReference mLoadService; + + public SuccessRunnable(LoadService loadService) { + mLoadService = new WeakReference(loadService); + } + + @Override + public void run() { + if (mLoadService.get() != null) { + mLoadService.get().showSuccess(); } - }, delay); + } } }