RunOnUiThread внутри представления

Я создаю пользовательский ImageView . Один из способов – загрузить изображение из URL-адреса. И я хочу получить битмап в потоке и загрузить растровое изображение в потоке пользовательского интерфейса.

Как я могу сделать runOnUIThread() для рисования растрового изображения?

Есть ли какая-то встроенная функция? Или я должен создать Handler в конструкторе и использовать его для запуска runnables в потоке пользовательского интерфейса?

Загрузите изображение через AsyncTask и установите для своего представления его метод onPostExecute

ИЛИ

Из отдельного загружаемого потока изображений используйте метод post для View который всегда будет запускать Runnable в UI-thread :

 yourImageView.post(new Runnable() { @Override public void run() { // set the downloaded image here } }); 

Создайте класс, который простирается от AsyncTask. Передайте ImageView в конструкторе. В методе doInBackground загрузите изображение. В методе postExecute установите изображение в ImageView.

Вы можете сделать что-то вроде этого:

  new Thread(new Runnable() { public void run() { final Bitmap bm = getBitmapFromURL(myStation.getStation().imageURL); ((Activity) context).runOnUiThread(new Runnable() { public void run() { icon.setImageBitmap(bm); } }); } }).start(); 

Это будет работать вне активности, например, в ListAdapter.

Intereting Posts
Relativelayout или LinearLayout в разработке ios iphone? Установка цветов по умолчанию для Android-библиотеки Что означает «PowerManger.FULL_WAKE_LOCK устарело»? Отключить масштабирование при нажатии полей формы в WebView? Является ли отказ от приложения неодобрительным? Используя кнопку для экспорта sqlite db в файл с превосходным считыванием (возможно, csv)? Android NullPointerException – параметр Spinner onItemSelected `view` равен null после поворота Получить URI для фотографии RawContact в Android Темный текст на темном фоне в AlertDialog с Theme.Sherlock.Light Ошибка MediaPlayer (1, -1004), а также MEDIA_ERROR_IO, пытающаяся передать музыку на Samsung S3 Как начать обслуживание в андроиде без активности Очистить активность Стек и начать новую активность в android Как узнать, какой фрагмент выбран в настоящее время в ViewPager? Различные 9-патч-изображения для разных плотностей? Как создать Android ActionBar с пользовательским представлением и вкладками