0

新しいインテントのメソッドを呼び出すにはどうすればよいですか?私の目的は、AsyncTaskを開始するアクティビティを作成することです。私のメインのアクティビティから、これをインテントとして開始し、

タスクを取得して、タスクがまだ実行されているかどうかを確認します(foo()が再度実行された場合)。

class MainActivity extends Activity () {
    foo() {
        Intent i = new Intent(this, MyTaskActivity.class);
        startActivity(i);

        //AsyncTask task = i.getTask(); ??
        //if (task.getStatus() ==...)
    }
}

class MyTaskActivity exteds Activity() {
    private AsyncTask task;

    public AsyncTask getTask() {
        return this.task;
    }

    @Override
    onCreate(..) {
        task = new MyTask().execute();
    }

    private class MyTask extends AsyncTask<..>() {

    }
}

//解決策:メインアクティビティからこれを呼び出します:

((MyTaskActivity) getAppContext()).getTask();
4

1 に答える 1

1

タスクの終了をキャッチして、メインアクティビティによってキャッチされたブロードキャストを送信するか、メインアクティビティを再開できます(マニフェストで特定のフラグが定義されている場合は、メインアクティビティが一番上に表示されます)。

1つ確かなことは、子のアクティビティを制御できないことです。

于 2012-05-31T16:39:33.007 に答える