我试图结束一个永无止境的循环。我需要从另一个类中调用一个非静态的 void。我不让它静态的原因是有些东西很难静态化。(静态空隙内的所有东西都必须是静态的)。
我被困在一个圈子里,我需要从另一个类中调用一个非静态 void。我不能让它成为静态的,因为它有些代码不喜欢被传递。
直到现在我通过一个处理程序解决了它:
public static void change(){
//This is called to change a boolean
start=true;}
private void startDone(){
int timeBetweenChecks = 50;
final Handler h = new Handler();
h.postDelayed(new Runnable(){
public void run(){
if (start==false){
startDone();
} else{
//Do something
}
}
}
}, timeBetweenChecks);
};
问题是我必须运行一个处理程序来检查是否经常发生变化(在我的情况下)。
有什么方法可以直接调用非静态 startDone() 吗?