簡體   English   中英

我的計時器不起作用

[英]My timer doesn't work

我激活了一個有2個任務的計時器。

  1. 每秒下載1張圖像,並在SD卡上為每張圖像顯示此圖像。
  2. 顯示在讀取sd卡上的圖像時不依賴於Internet連接,並快速滾動我的96張圖像以獲取小視頻。

問題是,當我以0.4秒的延遲時間激活我的第二個任務時,應用程序跳過了1或2張圖像。 實際上僅顯示了約45張圖像。

        MyTimerTask2 myTask = new MyTimerTask2();
        myTimer = new Timer();

        myTimer.schedule(myTask, 0 , 400); 

有人可以幫我嗎?

使用處理程序

Runnable  runnableforadd ;
                    Handler handlerforadd ;
                    handlerforadd = new Handler();
                    runnableforadd  = new Runnable() {
                        @Override
                        public void run() {
                          //Your Code Here
                            handlerforadd.postDelayed(runnableforadd, 400);                         } 
                    };
                    handlerforadd.postDelayed(runnableforadd, 0);

您的計時器不起作用,因為尚未定義TimerTask 需要將Timer創建為子類,並需要對其進行定義,如下所示:

   private long splashDelay = 5000;
   @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);
    TimerTask task = new TimerTask()
        {

        @Override
        public void run() {
        //Your code here

        }

    };

    Timer timer = new Timer();
    timer.schedule(task, splashDelay);

}

這是一個啟動屏幕的Timer ,但是我確定您可以將其用於任何需要的操作。

以下幾個鏈接可能會有所幫助:

http://developer.android.com/reference/java/util/TimerTask.html

http://android-developers.blogspot.com/2007/11/stitch-in-time.html

如果查看第一個鏈接,您將看到TimerTask具有一個稱為run的抽象方法。 抽象方法必須被覆蓋。 您沒有覆蓋run方法,因此您的應用程序無法按預期運行。

希望這可以幫助。 祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM