我试图在 90 秒后激活一个可运行文件。但是如果用户离开片段然后回来,当计时器到达时,它会崩溃。这是我到目前为止所拥有的。
当他们点击按钮时:
Handler handler = new Handler();
handler.postDelayed(new RefreshRunnable(this), 1000 * 90);
RefreshRunnable 类:
private static class RefreshRunnable extends AsyncTask<String, String, String> implements Runnable {
private WeakReference<GridFragment> mFragmentRef;
private RefreshRunnable(GridFragment fragment) {
mFragmentRef = new WeakReference<GridFragment>(fragment);
}
@Override
public void run() {
this.execute("");
}
@Override
protected String doInBackground(String... params) {
mFragmentRef.get().getLoaderManager().restartLoader(LOADER_ID_GET, null, mFragmentRef.get().mGroupLoaderCallbacks);
return null;
}
}
所以在 90 秒内,它应该激活一个网格项。如果我整整 90 秒都停留在片段上,它将起作用。但是如果我离开然后回来,当 90 秒时,它会崩溃。