1

AsyncTaskを使用して実装されたWebサービスへのリクエストがあります。通常、アクティビティへのコールバックはインターフェイスを使用して行います。

public interface AsyncTaskComplete<T> {

    public void onTaskComplete(T result);
    public void onTaskFailed(T result);

}

AsyncTaskの場合:

private AsyncTaskComplete<String> callback;

public AsyncTaskAbout(AsyncTaskComplete<String> cb) {
    this.callback = cb;
}

protected void onPostExecute(String result) {
    if(result ==  null){
        callback.onTaskFailed(result);
    }else{
        callback.onTaskComplete(result);
    }

}

しかし、コールバックFragmentActivityコンパイラーを提供したい場合は、AsyncTaskコンストラクターを次のように変更することをお勧めします。

public AsyncTaskAbout(FragmentActivity faActivity) {
    this.callback = (AsyncTaskComplete<String>) faActivity;
}

警告はどこにありますか:

Type safety: Unchecked cast from FragmentActivity to AsyncTaskComplete<String>

だから私は何を変える必要がありますか?

または、この場合のコールバックの作成方法は?

ありがとう。

4

0 に答える 0