Devo ancora passare l'ActivityContext alla AsyncTask al fine di manipolare Visualizzazioni?
-
29-09-2019 - |
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);
}
Soluzione
posso pensare a due opzioni.
- Se l'AsyncTask è una classe interna di voi attività è possibile utilizzare getApplicationContext () per ottenere l'oggetto Context, senza passare l'oggetto di attività.
- 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