AsyncTask
을 완료 한 후 List
의 결과가 6 가지가 있습니다. 그리고 List
결과는 Activity
으로 반환해야합니다. 예 : List<A>
, List<B>
, List<C>
, List<D>
, List<E>
및 마지막으로 List<F>
.안드로이드에서 비동기 List 또는 ArrayList를 AsyncTask에 반환하는 방법
이것은 내 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'. 그렇다면 반환 유형은 무엇입니까? 이미 정상적인 List로 모든 유형을 반환했으며 NullException 오류가 발생했습니다. –
여기에 stacktrace를 게시하면 다른 곳에서 가져온 NullPointer가 의심 스럽습니다. – kosa