Domanda

Questa funzione viene eseguito sul UiThread, ma sembra che doesnt significa che ha anche l'accesso al contesto di attività. Devo implementare al mio AsyncTask un Setter pubblico di passare l'attività (come riferimento)?

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

Soluzione

posso pensare a due opzioni.

  1. Se l'AsyncTask è una classe interna di voi attività è possibile utilizzare getApplicationContext () per ottenere l'oggetto Context, senza passare l'oggetto di attività.
  2. Se si deve accedere all'oggetto ImageView da metodi diversi o se il compito gestito dalla classe AsyncTask può essere eseguito più volte si potrebbe pensare a memorizzare l'oggetto ImageView come un membro della vostra classe di attività, in modo da poter non è necessario un contesto per accedervi.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top