1

から を開始しAsyncTaskていActivityます。実行が完了したら、メソッドを呼び出して UI を更新するAsyncTaskブロードキャストを送信する必要があります。 これを達成するための良いアプローチ。Activity

4

3 に答える 3

3

インターフェイスを使用してください。

interface INotifyChange {
    void notifyChange(); // You can use params to transfer data :D
}

アクティビティでは、このインターフェイスを実装する必要があります。

YourActivity  extends Activity implements INotifyChange {

    @Override
    public void notifyChange() {
        // Right here, you can Update UI.
    }
}

AsyncTaskの新しいインスタンスを作成するとき

例:

YourAsyncTask mTask = new YourAsyncTask(this); // You put INotifyChange

YourAsyncTask

private INotifyChange iNotifyChange;
public YourAsyncTask(INotifyChange iNotifyChange) {
    this.iNotifyChange = iNotifyChange;
}

// doInBackground または UI を更新する場所が完了したら、iNotifyChange.notifyChange()を使用してください

例:

@Override
public void onPostExecute(ResultType mResult) {
    iNotifyChange.notifyChange();
}

このようにして、プログレスバーを更新するためによく使用します。この場合、メソッドでパラメーターを使用します。

例:

iNotifyChange.notify(progress);
于 2013-08-06T00:25:53.047 に答える