2017-04-07 215 views
0

我想實現一個示例計劃,我希望每10秒顯示一次麪包。但計劃方法只運行一次。是否有任何解決方案。 這裏是我的代碼計劃執行程序的計劃方法只執行一次

公共類MainActivity擴展AppCompatActivity {

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ScheduledExecutorService scheduledExecutorService= Executors.newScheduledThreadPool(1); 
    scheduledExecutorService.schedule(new Runnable() { 
     @Override 
     public void run() { 
      runOnUiThread(new Runnable() { 
       @Override 
       public void run() { 
        Toast.makeText(getApplicationContext(), "Hello Schedule", Toast.LENGTH_LONG).show(); 
       } 
      }); 
     } 
    }, 
    10, TimeUnit.SECONDS); 

} 

}

回答

0

閱讀ScheduledExecutorService#schedule()ScheduledExecutorService#scheduleAt*

+0

請你可以建議的解決方案。 – user7144720

0

你應該尋找scheduleAtFixedRate方法之間的差異的文檔。

scheduleAtFixedRate: 創建並執行一個 給定的初始延遲之後第一啓用的定期操作,隨後與給定的週期; 即執行將在initialDelay之後開始,然後 initialDelay +期間,然後initialDelay + 2 *期間,等等。 Documentaion

ScheduledExecutorService scheduledExecutorService; 
    scheduledExecutorService = Executors.newScheduledThreadPool(1); 
    scheduledExecutorService.scheduleAtFixedRate(new Runnable() { 
     @Override 
     public void run() { 
      Toast.makeText(getApplicationContext(),"Hello Schedule",Toast.LENGTH_LONG).show(); 
     }},2,10,TimeUnit.SECONDS);