Bin*_*abu 13 java android kotlin
我在监视某个文件的java中有这样的代码:
private Handler mHandler = new Handler();
private final Runnable monitor = new Runnable() {
public void run() {
// Do my stuff
mHandler.postDelayed(monitor, 1000); // 1 second
}
};
Run Code Online (Sandbox Code Playgroud)
这是我的kotlin代码:
private val mHandler = Handler()
val monitor: Runnable = Runnable {
// do my stuff
mHandler.postDelayed(whatToDoHere, 1000) // 1 second
}
Run Code Online (Sandbox Code Playgroud)
我不明白Runnable我应该传递什么mHandler.postDelayed.什么是正确的解决方案?另一件有趣的事情是,当我提供这段代码时,kotlin到java转换器会冻结.
Mih*_*x64 27
Lambda表达式没有this,但是对象表达式(匿名类)可以.
object : Runnable {
override fun run() {
handler.postDelayed(this, 1000)
}
}
Run Code Online (Sandbox Code Playgroud)
稍微不同的方法可能更具可读性
val timer = Timer()
val monitor = object : TimerTask() {
override fun run() {
// whatever you need to do every second
}
}
timer.schedule(monitor, 1000, 1000)
Run Code Online (Sandbox Code Playgroud)
发件人:在java中每2秒重复一次操作
| 归档时间: |
|
| 查看次数: |
13913 次 |
| 最近记录: |