2012-01-31 151 views
1

你能帮我一些这个简单的任务吗?请参阅附件。你可以在那里完成任务。同时按住android按钮

我想通过按下一个按钮来打印一些数字, 在平均时间的按钮,将准备采取一个触摸启动do-while循环,(我的意思是一个键将两个任务的工作。) 在下一次触摸时,按钮将停止打印这些数字。 如果我再次触摸相同的按钮,它会从头开始打印数字。

赞:我按下按钮...其prining 1,2,3,4,5,6,7然后我再次按下按钮,然后它停住了。然后再次按下相同的按钮开始打印1,2,3 ...等等。 表示该过程将在界面的后面运行。

我希望你能理解我。

你能帮我解释一下吗?

回答

1

嘿你可以做到多线程。

创建将执行打印的线程。 和onClick事件的按钮调用将调用线程和启动和停止相同的方法。

2

像这样的东西应该工作。不需要真正的多线程。

{ 
     Handler mHandler = new Handler(); 
     private boolean running; 
     myButton.setOnClickListener(this);   

} 


     public void onClick(View v) { 
     if(!running) { 
      mHandler.post(numberPrinter); 
    } else { 
      mHandler.removeCallBacks(numberPrinter); 
      running = false; 
    } 
     } 

    Runnable numberPrinter = new Runnable() { 
      int i = 0; 
     public void run(){ 
      running = true; 
      System.out.println(i++); 
      mHandler.postDelayed(this, 1000); 
     }; 
+0

你不需要处理程序,你可以使用'myButton.post()' – 2012-01-31 04:41:11

+0

这是多线程!只有你自己没有创建线程。 – 2012-01-31 04:41:35

+0

@VikramBodicherla否......默认情况下,处理程序将在主线程上使用循环器。 – LuxuryMode 2012-01-31 05:11:38