- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试加载一些数据。 ID 数据在 20 秒内加载,然后我开始新的 Activity ,否则我将通过提供一些相关消息来完成。我启动了一个倒计时器来记录时间。加载数据后,我想停止计时器。我有以下类(class):
public class SplashActivity extends AppCompatActivity {
private Context mContext;
private Boolean mDataLoadedFromServer = false;
private String mJSONData;
private SplashTimerForLoadingMasterDataForAllChannels mTimer;
private void stopTimer(){
mTimer.cancel();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.activity_splash);
mTimer = new SplashTimerForLoadingMasterDataForAllChannels(20000,1000);
mTimer.start();
}
class SplashTimerForLoadingMasterDataForAllChannels extends CountDownTimer {
public SplashTimerForLoadingMasterDataForAllChannels(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
Log.d("testTimer", "SplashTimerForLoadingMasterDataForAllChannels");
//SomE AsyncTAsk
LoadData loaddata = new LoadData();
loaddata.execute();
//SomE AsyncTAsk
}
@Override
public void onTick(long millisUntilFinished) {
Log.d("testTimer", "onTick millisUntilFinished = " + millisUntilFinished + " mDataLoadedFromServer = " + mDataLoadedFromServer);
//mDataLoadedFromServer is modified once Data is loaded in AsyncTask
if(mDataLoadedFromServer) {
stopTimer();
}
}
@Override
public void onFinish() {
Log.d("testTimer", "onFinish");
if(mDataLoadedFromServer) {
mDataSavedAndNextActivityLaunched = true;
if (Utils.checkIfUserLoggedIn()) {
mContext.startActivity(new Intent(mContext, ABCACtivity.class));
} else {
mContext.startActivity(new Intent(mContext, XYZActivity.class));
}
finish();
}
}
}
}
我在本地方法调用中取消了它,但 onTick 仍然不断被调用。有人可以帮忙吗?
最佳答案
如果我从 onTick() 或 onFinish() (即从内部定时器取消它),基本上计数器不会简单地停止。
但是,如果我从计时器之外的任何点执行此操作,它很容易停止。
所以当我的数据完全加载时...我调用了timer.cancle(),它成功了。
但是我仍然不明白为什么如果我们从计时器方法内部做同样的事情它不起作用。
关于java - 即使在调用cancel之后,倒数计时器的onTick方法仍然被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34283327/
我正在使用CountDownTimer。我想在特定时间播放声音,仅供引用。好了,这是我的代码: @Override public void onTick(long l) {
我正在使用一个简单的 CountDownTimer 并每毫秒调用一次 onTick(): final int[] i = new int[1]; CountDownTimer coun
我正在尝试在 onTick 事件中为时钟设置状态。 这是handleValue函数。 const handleValue = (clock) => { //setting
我在 onTick() 方法中更新了 CountDownTimer 内的字段。但是,该字段始终为 0。您知道是什么导致了问题吗? public class Counter { private
我有一个 CountDown 计时器,它获取 numberPicker 的值。我的倒计时计时器的文本将更改为数字选择器的值,但是当我点击开始按钮时,倒计时计时器 TextView 的值更改为不同的数字
我正在为 backTest 制作 EA。 通常程序是这样工作的。 Ontick()被调用直到某个时间段结束。 OnDeinit() OnTester()被称为。 但是现在我想停在 OnTick()并转
I'm Running one count down timer for 15 minutes which is equals to 100%, 当我在应用程序中时,它对我来说很好用。我正在做的是当我
我已经在 android 应用程序中实现了计时器功能,我可以通过调用 timerObject.cancel() 从其他本地方法完成计时器。它运行完美。 但是当我尝试在 onTick() 方法中针对特定
代码: public class SMH extends Activity { public void onCreate(Bundle b) { super.onCreat
我是 JavaScript 新手。我有一个带有滚动条的 div,我希望当 OnTick 触发时,滚动条自动向下移动。 现在,它可以工作,但仅当我发送消息(这是聊天)或加载对话时(因此在 ListVie
我的代码中有两个按钮,单击它们会添加和删除原语。另一方面,我有一个用于 onTick 方法的事件监听器,它将事件原语和一个指示其索引的变量作为输入,并且应该将该原语与事件的特定索引一起使用. 当我进行
所以我为了学习目的写了一个小蛋计时器。实际上,如果 CountDownTimer 中的 onTick 方法在开始时只调用一次,那么一切正常,我不明白为什么。实际上在文档中指出,如果方法中调用的操作花费
CountDownTimer 如何在 onTick 方法中访问 UI? (new CountDownTimer(10000,1000){ @Override public void o
沮丧的帖子.... 我刚刚无意中遇到许多人在这里报告的“CountDownTimer - 最后一个 onTick 未调用”问题。 显示问题的简单演示 package com.example.gosh;
我正在编写一个锻炼应用程序,并试图在 Train Activity 中实现一个休息计时器。 CountDownTimer 位于 Train 中,当用户按下开始按钮时调用。 public CountDo
您好,我正在尝试取消 On-tick 功能中的倒数计时器,它在 Lollipop 中工作正常,但在 Kitkat 及以下版本中不起作用。如何从 OnTick() 函数中取消它。 private voi
好吧,我在倒计时器启动之前运行了一个线程,然后当该线程内的变量更改其值时,将触发 onTick() 方法内的条件,该条件将调用 onFinish() 并执行所需的操作,问题是在 onTick() 方法
我是一名优秀的程序员,十分优秀!