AsyncTask
の完了後、私はList
の結果が6種類あります。 List
の結果はActivity
に返されます。例えば、List<A>
,List<B>
,List<C>
,List<D>
,List<E>
および最後にList<F>
とする。AndroidのAsyncTaskで匿名リストまたはArrayListを返す方法
これは私のAsyncTask
次のとおりです。
public class myAsync extends AsyncTask<String, String, List> {
private List resultList;
@Override
protected List doInBackground(String... params) {
//params[0] is url
//params[1] is type
callAPI api = new callAPI(params[0], params[1]);
// According to type api decides type of List and generates
return api.getJSON(); // returns a List which already parse JSON
}
@Override
protected void onPostExecute(List result) {
// Result is here now, may be 6 different List type.
this.resultList = result
}
// returns result
public List getResultList() { return this.resultList; }
}
私はこのようなAsyncTaskと呼ぶことにします:
myAsync task = new myAsync();
task.execute(params);
List myList = task.getResultList(); // type is uncertain
Log.d("Tag", Integer.toString(myList.size());
あなたが知っている、私は<>タグの間に戻り型(結果を)指摘しなければなりません。 List
の特定のタイプを選択した場合、他のタイプでは機能しません。
実際には、私は既にList<Object>
とList
タイプのみを返そうとしました。しかし、うまくいきません。
私は使用したくありません6種類Async
です。 AsyncTask
でこれを解決することは可能ですか?私は匿名のリストが必要かと思います。誰もこれを説明できますか?
あなたは、<無視することができます>、それはあなたに警告、エラーではありません。 – kosa
あなたはこの定義を使うべきです: 'AsyncTask'。そうであれば、戻り値の型は何でしょうか?私はすでに正常なリストとしてすべての型を返しました、NullExceptionエラーが発生しました。 –
ここでstacktraceをポストすると、あなたが得ているNullPointerがどこか別の場所にある可能性があります。 – kosa