0
여기 내가이 콜백 시스템을 얻을 수있는 방법자바에서 외부 중첩 클래스를 다시 호출 할 수 있습니까?
public class BookModel {
private void update_method() {
get_info task = new get_info(this)
task.exicute(some args);
}
public void finishedCallback(some_return_type result) {
// do some stuff when finsiehd.
}
class get_info extends AsyncTask<HashMap<String, String>, Void, dataType>
{
private BookModel bookModel;
public get_info (BookModel reset) {
bookModel = reset;
}
@Override
protected dataType doInBackground(arg...)
some procscessing.
}
protected void onPostExecute(dataType result) {
bookModel.finishedCallback(result);
}
}
}
은 나뿐만 아니라 inteface을 사용하여 시도 ... 일을 할 노력하고있어 예,하지만 그것은 작동하지 않았다. 인터페이스가있는 3 개의 클래스가 필요하기 때문이라고 생각합니다 (틀린 경우 수정하십시오). 또한 모든 제안에 개방적이지만, 가능하다면 이상적으로는 같은 클래스 내에이 기능을 유지하고 싶습니다. 이것에 대한 어떤 도움도 크게 감사 할 것입니다.
'인터페이스가있는 3 개의 클래스가 있어야합니다.' – njzk2
doInBackground의 선언이 잘못되었습니다. 당신은'protected getProductInfoBriefFull doInBackground (void ...) {' – njzk2
@ njzk2}이 필요합니다. 저는 인터페이스를 클래스로 간주하고 있습니다 ... 그래서 인터페이스를 필요로합니다. 클래스는 emit 신호와 클래스를받습니다. 신호 ...하지만 클래스로 인터페이스를 계산하지 않으면 두 개만 필요합니다 ...하지만 문제는이 클래스가 중첩 된 것으로 보입니다. –