一个线程中的Android Restart Loader

时间:2014-09-08 10:48:11

标签: android loader android-handler connection-timeout

我在Android应用中使用Loaders从网络中检索数据。在我的onCreate()方法中,我初始化加载器。检索数据后,我可以在onLoadFinished()方法中访问它们。这很好。

我试图添加超时,以便如果请求超过15秒,我会破坏加载程序并重新启动它。我使用以下方法来实现这一目标:

    private void timeOutTimer()
   {
    final Timer t = new Timer();
    t.schedule(new TimerTask() {
        public void run() {


            myHandler.post(recreateLoader);

            t.cancel();
        }
    }, 15000);
}

final Runnable recreateLoader = new Runnable() {
    public void run() {

            if(getLoaderManager().getLoader(MY_LOADER) != null || getLoaderManager().getLoader(MY_LOADER) != null)
            {



            Toast.makeText(getApplicationContext(),"Reconnecting..",Toast.LENGTH_SHORT).show();

                getLoaderManager().destroyLoader(MY_LOADER);
                ReInitiateLoader();



            }


            }
    }
};

问题是onLoadFinished永远不会被调用。似乎在线程中启动Loader并不起作用。有解决方案吗?

0 个答案:

没有答案