Как создать экземпляр пользовательского ArrayAdapter во время doInBackground AsyncTask? - PullRequest
0 голосов
/ 19 мая 2011

У меня есть список с пользовательским адаптером массива. В каждой строке списка также есть галерея с собственным адаптером. так что все работает отлично. но быстро прокручивая список, он застаивается, потому что каждая строка должна загружать адаптер secound галереи. это только миллисекунды, но вы чувствуете, что это не так, потому что список не прокручивается плавно. поэтому я хотел бы загрузить массив второстепенных объектов галереи в асинхронной задаче, чтобы прокрутка не влияла. но их проблема:

в методе doInBackground я хочу сделать это:

CustomAdapter customAdapter = new CustomAdapter(activity, R.layout.items, arraylist);

но там он выкидывает мне ошибку будущей задачи. Я думаю, что проблема заключается в «активности». я могу решить это? или у них нет шансов?

Надеюсь, вы мне поможете.

Спасибо!

1 Ответ

0 голосов
/ 19 мая 2011

Я думаю, что проблема в том, что вы используете многоразовые адаптеры ListView.Их использование улучшит скорость приложения, так как будет многократно использовать ресурсы, и вы избежите сбора мусора.Узнайте больше по адресу: http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/,, особенно посмотрите на реализацию OrderAdapter.

Вы не сможете изменить представление в doInBackground , так как оно не вызывается в потоке пользовательского интерфейса.Пожалуйста, обратитесь к документации Android: http://developer.android.com/reference/android/os/AsyncTask.html

...