BaseAdapter с AsyncTask - PullRequest
       27

BaseAdapter с AsyncTask

0 голосов
/ 19 апреля 2020

Я создаю свое первое приложение Android, в котором у меня есть класс BaseAdapter, который выполняет метод, выполнение которого занимает несколько секунд, поэтому я добавил его в блок AsyncTask следующим образом, чтобы избежать блокировки пользовательского интерфейса:

public class MyAdapter extends BaseAdapter {
    List<> items;

    public MyAdapter(Context context) {
        ...
        AsyncTask.execute(new Runnable() {
            @Override
            public void run() {
                processImages(); // This method takes several seconds to run and add items to the "items" list
            }
        });
    }

    @Override
    public int getCount() {
        return items.size();
    }

    ...
}

Проблема заключается в том, что метод getCount() вызывается перед запуском processImages() fini sh, поэтому список элементов на данный момент равен нулю, есть ли способ подождать, пока этот метод запустить? какая лучшая практика, которой я должен следовать?

...