1

返された値は、実行後のメソッドでのみ使用できますか?

doInBackgroundメソッドを呼び出すと、Webページのソースコード(文字列)を取得します。ソースコード内の情報を分類しているので、そのソースコードをメインアクティビティに戻したいと思います。しかし、私はそれができないと思っています。

実行後から返却してもらえますか?

4

2 に答える 2

0

このonPostExecuteメソッドでは、アクティビティのメンバー変数に割り当てるか、引数として他のメソッドを呼び出すことができます。

コメントごとに更新: declaredのサブクラスをAsyncTask別のファイルで宣言することはできますが、囲んでいるアクティビティのメンバー変数を直接操作することはできません。ただし、インターフェイスを定義して、アクティビティと他の場所で定義されたものを結合し、アクティビティへの参照をコンストラクターAsyncTaskのに渡すことができます。AsyncTask

于 2012-04-23T16:28:35.017 に答える
0

タスクが完了すると、AsyncTaskの変数が削除されます。

ただし、実行クラスのクラス変数は次の場所から設定できますonPostExecute

@Override
protected void onPostExecute(Integer result) {
        integerListInExecutingClass = result;                   
        super.onPostExecute(result);
}

ただし、このメソッドは、実行中のクラス内でAsyncTaskをプライベートクラスとして宣言した場合にのみ機能します。

于 2012-04-23T16:33:19.587 に答える