-1
J'ai un problème avec NullPointerException lorsque j'essaie d'accéder aux variables de l'objet i initialisé en classe interne. Mais à l'intérieur de la classe interne, tous les éléments sont définis, et tout va bien.Pourquoi ne puis-je pas initialiser les variables dans une classe interne anonyme?
public class FirebaseConnectionStream extends FirebaseConnection {
private Object DownloadResult;
public void publish(String path,Map<String,Object> map){
try{
DatabaseReference ref = database.getReference(path);
ref.updateChildren(map);
}
catch(Exception e){
e.printStackTrace();
}
}
public <T> PortfolioInfo download(String path,final T object){
try{
DatabaseReference ref = database.getReference(path);
ref.addValueEventListener(new ValueEventListener(){
@Override
public void onCancelled(DatabaseError arg0) {
// TODO Auto-generated method stub
}
@Override
public void onDataChange(DataSnapshot arg0) {
try{
DownloadResult = arg0.getValue(object.getClass());
PortfolioInfo p = (PortfolioInfo) DownloadResult;
System.out.println(p.getId()); // This line here works?
}
catch(Exception e){
e.printStackTrace();
}
}
});
}
catch(Exception e){
e.printStackTrace();
}
return (PortfolioInfo) DownloadResult; // But this one does not?
}
}