这是我的代码,我希望我的日志输出为 A B C,但它只是到 A 和 B。我从来没有实现过自己的事件监听器,但我不知道可能出了什么问题。关于如何实现这项工作有什么想法吗?
public class MyActivity extends Activity {
...
OnCompletedEvent listener;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
}
public void ButtonPressed (View view){
Log.d("LOG","A");
longRunningTask();
listener = new OnFinishedValidatingListener() {
@Override
public void onFinished() {
// TODO Auto-generated method stub
afterFinished();
}
};
}
public void longRunningTask(){
...
Log.d("LOG", "B");
}
public void afterFinished(){
...
Log.d("LOG", "C");
}
public static interface OnCompletedEvent {
public void onFinished();
}
}
最佳答案
你不要在任何地方调用它,例如你需要在某个地方执行listener.onFinished()
您还应该在“长时间运行的任务”之前创建监听器,以防您的任务很快完成,否则您的监听器将为空
关于java - Android 自定义事件监听器未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19868293/