私は次の問題を抱えています:私はアンドロイドからmysqlからいくつかのデータを取得する必要があり、そのために私はphpでそれを行いますが、私はアンドロイド4.0を使用しているのでAsyncTask
。問題は、結果を返す方法がわからないことarraylist
です。
質問する
513 次
2 に答える
2
を作成し、(コンストラクターで)interface
に渡し、AsyncTask
メソッドを呼び出すことができますonPostExecute
例えば:
あなたのインターフェース:
public interface OnTaskCompleted{
void onTaskCompleted(values);
}
あなたの活動:
public YourActivity implements OnTaskCompleted{
//your Activity
YourTask task = new YourTask(this); // here is the initalization code for your asyncTask
}
そしてあなたの AsyncTask:
public YourTask extends AsyncTask<Object,Object,Object>{ //change Object to required type
private OnTaskCompleted listener;
public YourTask(OnTaskCompleted listener){
this.listener=listener;
}
//required methods
protected void onPostExecute(Object o){
//your stuff
listener.onTaskCompleted(values);
}
}
于 2012-12-11T12:52:05.333 に答える
1
便利な方法は、AsyncTaskをActivityクラス内の匿名クラスにすることです。次に、onPostExecuteメソッドで、そのAsyncTaskを作成するメソッドからActivity+finalオブジェクトに属するすべてのフィールドにアクセスできます。
于 2012-12-11T13:02:00.060 に答える