【Android】页面添加计时器

22 阅读1分钟

【Android】页面添加计时器

提娜姬一个需求,打开页面后,每隔一秒执行一次handleGetMessageCount方法,离开页面后停止定时,进入羊肉面后继续开始定时

import android.os.Handler;

public class MainActivity extends AppCompatActivity {
    private Handler getMessageCountHandler = new Handler();  
    private int getMessageCountDelay = 1000; // 1秒

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

    // 开始定时任务  
    @Override  
    protected void onResume() {  
        super.onResume();
        getMessageCountRunnable.run();  
    }
    
    // 离开页面后停止
    @Override  
    protected void onPause() {  
        super.onPause();
        if (getMessageCountHandler != null && getMessageCountRunnable != null) {  
            getMessageCountHandler.removeCallbacks(getMessageCountRunnable);  
        }  
    }
    
    // 页面销毁后也停止
    @Override  
    public void onDestroy() {  
        super.onDestroy();  
        if (getMessageCountHandler != null && getMessageCountRunnable != null) {  
            getMessageCountHandler.removeCallbacks(getMessageCountRunnable);  
        }  
    }
    
    // 定时任务  
    Runnable getMessageCountRunnable = new Runnable() {  
        @Override  
        public void run() {  
            handleGetMessageCount();  
            getMessageCountHandler.postDelayed(this, getMessageCountDelay);  
        }  
    };

    private void handleGetMessageCount() {
        // 在这里执行你想要定时执行的操作
    }
}