gpt4 book ai didi

java - 如何从适配器中删除处理程序

转载 作者:行者123 更新时间:2023-11-29 23:24:33 24 4
gpt4 key购买 nike

我在适配器中使用一个函数,我添加了一个处理程序来每 2 秒刷新一次,如下所示:

 final Handler refreshHandler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
refreshHandler.postDelayed(this, 2000);
myfunction();
}
};
refreshHandler.postDelayed(runnable, 2000);

当我不进入部署适配器的 fragment 时,处理程序总是重新加载。

所以我的问题是,每次退出 fragment 时如何停止处理程序?

最佳答案

我认为您应该使用 removeCallbacks(Runnable r) 方法。

这就是您将其放入代码中的方式:

      final Handler refreshHandler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
refreshHandler.postDelayed(this, 2000);
myfunction();
}
};
refreshHandler.postDelayed(runnable, 2000);


@Override
public void onDestroy () {

refreshHandler.removeCallback(runnable);
super.onDestroy ();

}

随心所欲。希望你明白

关于java - 如何从适配器中删除处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53761363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com