0

我试图在 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 秒时,它会崩溃。

4

0 回答 0