我在android应用中有一个处理程序,这真的很好

下面是我的处理程序的代码

Runnable mStatusChecker = new Runnable() {
    @Override
    public void run() {
        try{
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
            downloadusernamelist();
            isInternetWorking();
            syncDataSftp();
        }finally {
            mHandler.postDelayed(mStatusChecker, mInterval);
        }}};


现在此处理程序处于启动器活动中,当我转到下一个活动并返回第一个启动器活动时,该处理程序再次启动...

我如何使处理程序在每次回到第一个活动时都不会重新启动?

最佳答案

您可以定义一个布尔值,例如;

private boolean firstTime = true;


然后,您可以根据firstTime布尔值决定启动处理程序。

if(firstTime){
   runHandler();
   firstTime = false;
}


您还应该保存firstTime值onSaveInstance并恢复该值onCreate;

07-26 07:52