- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在编写一个应用程序,它生成随机数并在 Android 屏幕上显示它们(一个接一个)。这是 Activity java fragment 。
public class Scada extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scada);
Timer timer1= new Timer();
timer1.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
TextView myTextView = (TextView) findViewById(R.id.Flow1);
random flow1=new random();
myTextView.setText("Flow: " + flow1.random() + " m" + Html.fromHtml("<sup><small>" + "3" + "</small></sup>"));
}
},0,9000);
这是随机类(但我认为看起来不错)
public class random {
public int random (){
Random gen1 = new Random();
int flow1 = gen1.nextInt(100);
return flow1;}
}
当我尝试使用Timer
时,应用程序崩溃了。原因是什么?预先感谢您。
最佳答案
Timer 在后台线程上运行,并且不允许您在后台线程上更改 UI。如果您的目标只是每 9 秒更改一次 TextView 的内容,则可以使用 Handler。例如
final Runnable r = new Runnable() {
public void run() {
TextView myTextView = (TextView) findViewById(R.id.Flow1);
random flow1=new random();
myTextView.setText("Flow: " + flow1.random() + " m" + Html.fromHtml("<sup><small>" + "3" + "</small></sup>"));
myTextView.postDelayed(this, 9000);
}
};
在 onCreate 中,做同样的事情:
TextView myTextView = (TextView) findViewById(R.id.Flow1);
myTextView.postDelayed(r, 9000);
关于java - ScheduleAtFixedRate 使整个应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29668869/
我尝试每小时执行一次代码 这是针对applicationRunner中的java,可以在服务器启动时运行。 @Component public class TestApplicationRunner
我在程序中使用方法scheduleAtFixedRate(Timer类)。它每秒运行一次,但有时此方法变得非常快(每秒执行 3 - 4 次)。 但是我在网络上做了一些研究,发现了这个: 从 Andro
日志: [pool-1-thread-1] TRACE apns.ApnsPushConnection - 输入方法 queryFeedbackService 参数[pool-3-thread-1]
我正在阅读一本 java8 书籍,发现了 ScheduleAtFixedRate 和 ScheduledExecutorService 中的 scheduleWithFixedDelay 方法之间的区
我们需要通过 Java 程序关注 PC 时钟。为此,我们每 500 毫秒使用 ScheduleAtFixedRate() 调度一个 Runnable。我们每次都从中调用 System.currentT
我正在编写一个应用程序,它生成随机数并在 Android 屏幕上显示它们(一个接一个)。这是 Activity java fragment 。 public class Scada extends A
public class MyTimerTask extends TimerTask{ @Override public void run() { int i = 0;
我有一个 Java 应用程序,用于通过 UART 连接 (RS422) 与嵌入式设备通信。主机以 5 毫秒为间隔向微 Controller 查询数据。直到最近我一直在使用 ScheduledExecu
我有 TextView 来频繁更新时间,工作正常,但问题是我想根据不同的条件更改计划时间,但我无法更改计划时间。它继续在最初设置的时间。 private Long mPeriod = Long.par
我正在研究 Java 类 ScheduledExecutorService 的 scheduleAtFixedRate 方法。 这是我的可疑代码: ScheduledExecutorService s
import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import
我正在尝试使用 ScheduledExecutorService 类的方法 scheduleAtFixedRate 进行示例。代码是: ScheduledExecutorService service
我创建了一个可运行的类并创建了一个线程,但具有唯一的名称,但是当我通过 executor.scheduleAtFixedRate 发送该线程时,它创建了自己的线程,我不明白这是为什么? 我试着阅读这里
当我定期执行一项耗时的任务时,结果没有达到我的预期。 public static void main(String[] args) { ScheduledExecutorService sch
我正在使用ScheduledExecutorService使用 scheduleAtFixedRate 方法每小时提供一次数据库更新。问题是它逐渐变得更晚 - 在长期服务中我一直在记录它并且每天大约一
这是我的固定速率计时器代码。当 Activity 进入 onPause(); 时,我可以暂停这个计时器吗?如果是这样,那么您建议我在 onPause(); 方法中放入什么,当应用程序进入 onResu
Runnable runPickWinner = new Runnable() { @Override public void run() {
因为我每秒都在执行时间紧迫的任务,所以我比较了几种方法以找到确保我的任务真正以固定时间步长执行的最佳方法。在计算所有方法的误差标准推导后,似乎使用方法 scheduledExecutorService
final Runnable refresh = new Refresh(params...); service = Executors.newScheduledThreadPool(1); serv
我的代码是: ou=100 final Timer t=new Timer(); TimerTask tt=new TimerTask() { @Overrid
我是一名优秀的程序员,十分优秀!