Нужно ли мне передавать ActivityContext в AsyncTask, чтобы манипулировать представлениями? - PullRequest
0 голосов
/ 13 октября 2010

Эта функция выполняется в UiThread, но, похоже, это не означает, что она также имеет доступ к контексту активности.Должен ли я внедрить в свой AsyncTask общедоступный сеттер для передачи действия (в качестве ссылки)?

protected void onPostExecute( Bitmap bitmap ) {
         //following is underlined red due to missing context
        (ImageView)findViewById(ResId)).setImageBitmap(bitmap); 
      }

1 Ответ

0 голосов
/ 13 октября 2010

Я могу думать о двух вариантах.

  1. Если AsyncTask является внутренним классом вашей деятельности, вы можете использовать getApplicationContext (), чтобы получить объект Context, не передавая объект действия.
  2. Если вам нужен доступ к ImageViewобъект из разных методов или если задача, обрабатываемая классом AsyncTask, может выполняться несколько раз, вы можете подумать о сохранении объекта ImageView в качестве члена вашего класса активности, поэтому вам не нужен контекст для доступа к нему.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...