gpt4 book ai didi

java - Android处理程序缩短延迟?

转载 作者:行者123 更新时间:2023-12-02 11:42:10 24 4
gpt4 key购买 nike

我正在创建一个按钮,在使用处理程序的延迟函数获取两个相等的光值持续 2 秒后停止光传感器。一开始工作正常,但当我再次按下按钮时,延迟似乎越来越短,最终根本没有发生。

stateLx.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
onResume();
stateLx.setEnabled(false);
doub2x.setText(Double.toString(0));
doub1x.setText(Double.toString(0));

//Stabilization Handlers
m_handler = new Handler();
m_handlerTask = new Runnable() {
public void run() {

doub1 = movingValue[0];
doub1x.setText(Double.toString(doub1));
m_handler.postDelayed(this, 1000);

}
};

m2_handler = new Handler();
m2_handlerTask = new Runnable() {
public void run() {

doub2 = movingValue[0];
doub2x.setText(Double.toString(doub2));
m2_handler.postDelayed(this, 2000);

if (doub1 != doub2) {
instructions.setText("unequal");
} else {
instructions.setText("equal");
getInitialLightValue();
reCalculateInitial();
beerLambert(volValues, lxValuesNew);

}

}
};

//Handlers for stabilizer
m_handler.postDelayed(m_handlerTask, 1000);
m2_handler.postDelayed(m2_handlerTask, 3000);
lame.setText(Double.toString(absorbValues[0]));
stateLx.setEnabled(true);


}

});

我尝试过将处理程序放入 onclick 函数中或从 onclick 函数中取出,以及在按钮按下开始时包含 onResume() 函数,但我没有运气。我的代码有问题吗?

最佳答案

您不断重新创建您的处理程序和可运行对象。这是问题的一部分,您应该在重新开始之前检查是否已经在轮询。

此外,这是一个旁注 - 但自己调用生命周期方法(例如 onResume())很奇怪,因为它会调用 super。

关于java - Android处理程序缩短延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48471665/

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