J'ai donc une activité avec un ImageView. Mon but est de démarrer l'activité et de récupérer de manière asynchrone l'image dont j'ai besoin. Pendant que l'image est récupérée, j'aimerais afficher une sorte de symbole de chargement tournant à la place de l'image. J'ai essayé d'utiliser AsyncTask comme une classe distincte, mais j'ai rencontré des problèmes liés à la modification des vues d'une autre activité. J'ai essayé une classe Runnable anonyme à l'intérieur de l'activité, mais elle ne semble pas produire les effets escomptés. Quelqu'un peut-il conseiller?Chargement de l'image asynchrone Android
SOLVED: simplement besoin d'un gestionnaire dans l'activité
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
ImageView qrCode = (ImageView)findViewById(R.id.qr);
qrCode.setImageBitmap((Bitmap)msg.obj);
}
};
new Thread(new Runnable(){
public void run() {
BitmapFactory.Options bmOptions;
bmOptions = new BitmapFactory.Options();
bmOptions.inSampleSize = 1;
int retry = 0;
Bitmap bm = null;
while(retry < 50 && bm == null){
bm = LoadImage(image_URL, bmOptions);
if(bm == null){
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
retry++;
}
Message msg = new Message();
msg.obj = bm;
handler.sendMessage(msg);
return;
}
}).start();
`
Pouvez-vous poster votre solution comme une réponse ci-dessous afin que nous puissions obtenir ce hors de la liste sans réponse? Merci. –