2017-02-14 3 views

Répondre

0

Vous devez faire attention à ce que vous faites référence à l'intérieur d'une classe interne anonyme. C'est l'un des gros trucs dans les langages fonctionnels comme javascript, mais on le voit aussi parfois en java. Essentiellement, le sens de «ceci» change en fonction de son contexte. Donc, lorsque vous l'utilisez, "this" ne fait pas référence à l'Activity, il fait référence à OnSuccessListener qui n'hérite pas de Context, donc le code échoue.

Il y a probablement beaucoup de façons de résoudre ce problème. L'un est ce que Mohammed a suggéré MainActivity.this. Une autre consiste à définir délibérément une variable pour référencer le contexte avant votre code pour ajouter l'écouteur.

contexte Contexte final = getContext()

alors vous pouvez référencer librement cette variable de contexte à partir de votre auditeur de succès.

onSuccess public void (Uri uri) { Glide.with (contexte) de .load (uri) ... }

+0

merci beaucoup –