Как вернуть анонимный список или массив ArrayList в AsyncTask в Android

У меня 6 разных типов результатов List после выполнения AsyncTask . И результаты списка List должны быть возвращены в действие Activity . Например: Список , Список , Список , Список , Список и, наконец, Список .

Это моя 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 . Но не сработало.

Я не хочу использовать 6 разных Async . Возможно ли решить эту проблему с помощью только AsyncTask ? Я думаю, мне нужен анонимный список или что-то подобное, я не уверен. Кто-нибудь может это объяснить?

5
задан Marvin Pinto 26 January 2012 в 16:56
поделиться