我是android的初学者,我正在做我的测试项目。当我启动Handler方法时,我遇到了这样的问题,那么让我们假设刷新大约是需要的。但是在几秒钟之后,这比开始时慢,在单击startGameButton之后立即。
有两个嵌套的处理程序可以使屏幕刷新。
以下代码嵌套在onCreate()方法中
final Handler handler = new Handler();
final Runnable runnable = new Runnable() {
@Override
public void run() {
MainLoopClass mainLoop;
mainLoop=newMainLoopClass(HelperMethods.context,HelperMethods.rl);
handler.postDelayed(this, 100);
}
};
...
startGameButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
handler.postDelayed(runnable, 100);
}
});我想要的效果是每700英里刷新一次
发布于 2019-08-14 08:25:16
似乎您的代码具有更好的副作用,更好的解决方案是1。在应用程序中添加RxJava :gradle
android {
...
}
dependencies {
...
implementation 'io.reactivex.rxjava2:rxjava:2.2.6'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
...
}添加
val disposable = Observable.interval(700, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
//refresh your UI here
}PS:
.observeOn(AndroidSchedulers.mainThread())没有必要
https://stackoverflow.com/questions/57490798
复制相似问题