現在、以下のコードではコンパイル エラーが発生します。これは、リスナーが smsTask を認識していないためです。リスナーに smsTask のインスタンスが必要です。契約者に渡さずにこれを行うことは可能ですか? 私が行うと冗長に思えます:
.createTask(smsTask,new TaskCompleteListener(smsTask){...}
現在のコード:
public void doStuff(){
SmartPhoneTask smsTask=createSmsTask();
super.getSystem().createTask(smsTask,new TaskCompleteListener(){
@Override
public void onTaskComplete() {
releaseResources(smsTask);//error.
}});
}
private SmartPhoneTask createSmsTask() {
return new SmartPhoneTask();
}
createTask:
void createTask(SmartPhoneTask task, TaskCompleteListener listener);