私は別のバックグラウンドメソッドの値から戻る必要があるメソッドを持っています。問題は、バックグラウンドメソッドがデータを返す前に常に行リターンが実行されることです。戻り値の前にメソッドをリスナーから待機させる方法はありますか?
ライン8は、常にライン5より前に実行してください。 このケースを処理するにはどうすればよいですか?
public String methodAbc(){
int result = 0;
doSomeWorkWithCallBack(new ResultListener() {
@Override
public void onFinish(int data)){
result = data; //line 5
}
}
return result; // line 8
}
これは、いくつかの非同期のバックグラウンドタスクが作業を行ってまで、あなたのメインスレッドを停止するための最良のアプローチではありません。 'AsynTask'や' Handler'のような他のより良いオプションを探すべきです。 –