2012-01-31 188 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