Je essaie de mettre en œuvre une méthode interne afin d'exécuter le code suivant dans un nouveau thread
MyPojo result = null;
final MyPojo result2 = result;
FutureTask runnableTask = new FutureTask(
new Runnable() {
BindJSON binding;
// Make the URL at which the product list is found
String sourceURLString =
"http://www.....ca/files/{CAT_ID}.json";
@Override
public void run() {
sourceURLString = sourceURLString.replace("{CAT_ID}", catId);
binding = new BindJSON();
result2 = binding.downloadData(sourceURLString, MyPojo.class);
}
},
result2);
runnableTask.run();
Donc, maintenant je reçois une erreur qui dit : La variable locale finale result2 ne peut pas être assignée, car elle est définie dans un type englobant. J'ai consulté cette réponse : Cannot refer to a non-final variable i inside an inner class defined in a different method mais cela n'a pas fonctionné pour moi. Que dois-je faire pour que cela fonctionne?