如何用两个按钮杀死和启动线程

时间:2015-10-22 15:57:02

标签: java android java-threads

  1. 开始按钮...

        btn_start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                start_stop = true;
                thread.start();
                chronometer.setBase(SystemClock.elapsedRealtime() + timeWhenStopped);
                chronometer.start();
    
            }
        });
    
    1. 停止按钮......

      btn_stop.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              chronometer.stop();
              // 변수에 저장된 값 초기화!!
              timeWhenStopped =0;
              start_stop=false;
              graph.removeAllSeries();
              data = 0;
              double[] resetted = new double[50];
              saving = resetted;
              if(thread !=null && thread.isAlive()) thread.interrupt();
              i++;
          }
      
      });
      
    2. 这是我在相同活动中的主题。

      runnable = new Runnable() {
      @Override
      public void run() {
          int j =i;
          if(!thread.interrupted()){
          for (int i = 0; i < 50; i++){
              if(start_stop){
                  runOnUiThread(new Runnable() {
      
                      @Override
                      public void run() {
                          addEntry();
                      }
                  });
                  try {
                      Thread.sleep(600); //여기서 속도 제어할 수 있나봄!
                  } catch (InterruptedException e) {
                      // manage error ...
                  }
              }
          }
      }
      }
      };
      thread = new Thread(runnable);
      
  2. 所以我要做的就是。我想绘制一些使用按钮Start启动的线图,然后使用停止按钮停止并清除。 并使用开始按钮再次绘制新图形。 但每次我尝试重新启动时,应用程序都会因错误而关闭..

    &#34;线程已经开始......&#34;

    所以我想我需要通过单击“停止”按钮来终止或停止线程。 而且我已经尝试过几种方式......推荐......在这里,我还无法解决。

    请帮助我..

    (+和我在这里很新,,,,,,,我的英语并不完美......也是我的第一个问题......对不起任何错误。谢谢)< / p>

0 个答案:

没有答案