如何在创建的活动上再次重新启动线程

Ram*_*dav 5 multithreading android

我正在做的是在片段内点击一个按钮后开始一个线程然后按下我的Activity和Fragment得到Destroyed但是当再次调用该活动和片段时我想再次从其先前状态开始我的线程.

我知道我没有提供太多信息,但我也很困惑我所要求的.

所以请帮助我.

这就是我所知道的

thread = new Thread(new Runnable() {
    @Override
    public void run() {
        while (runThread) {
            try {
                getActivity().runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        updateProgress();
                    }
                });
                Thread.sleep(200);
            } 
            catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                break;
            }
        }
    }
});
thread.start();
Run Code Online (Sandbox Code Playgroud)

这是我的onDestroy

@Override
public void onDestroyView() {
    // TODO Auto-generated method stub
    super.onDestroyView();
    try {
        if (thread != null) {
            runThread = false;
        } else {

        }
    } 
    catch (Exception e) {
    }
}
Run Code Online (Sandbox Code Playgroud)

Pat*_*ato 1

看来线程直到完成都不会停止。

thread = new Thread(new Runnable() {
    @Override
    public void run() {
        while (runThread) {
            try {
                getActivity().runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                       //+ Hear
                        if(runStat){                           
                           updateProgress();
                        }
                    }
                });
                Thread.sleep(200);
            } 
            catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                break;
            }
        }
    }
});


@Override
public void onDestroyView() {
    // TODO Auto-generated method stub
    super.onDestroyView();
    try {
        if (thread != null) {
            runThread = false;
            runStat=false;
        } else {

        }
    } 
    catch (Exception e) {
    }
}

@Override
public void onStop() {
    // TODO Auto-generated method stub
    super.onStop();  
    runStat=false;    
}

 @Override  
 protected void onStart() {  
    // TODO Auto-generated method stub  
    super.onStart();  
    runStat=true;  
 } 
Run Code Online (Sandbox Code Playgroud)