【发布时间】:2012-11-09 01:10:44
【问题描述】:
我正在尝试结束一个永无止境的循环。我需要从另一个类中调用一个非静态的 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()?
【问题讨论】:
-
如果它是一个非静态类,我假设您只需要创建一个包含 startDone() 的类的实例即可调用该方法。但这是来自没有做过任何 Android 开发的人。
-
我想你可以先从静态的定义开始:docs.oracle.com/javase/tutorial/java/javaOO/classvars.html
标签: java android boolean static-methods