• 13-05-2018, 23:41:53
    #1

    Şekilde ok ile gösterdiğim yerde istediğim veriyi alabiliyorum. Fakat sorun şu ki bu veriyi ilgili fonksiyonun dışına çıkartamıyorum. Yapmak istediğim getStageNames fonksiyonumu dışarıdan çağırıp, firebaseden çektiğim bu veriyi elde edebilmek. Birçok şey denememe rağmen bu veriyi dışarı çıkartamıyorum, hep null değerler elde ediyorum. Eventlistener içindeyken ise logda veriyi doğru bir şekilde görebiliyorum. Yardım edebilirseniz çok harika olur. Teşekkür ederim.
  • 14-05-2018, 12:56:53
    #2
    Hocam event ten dışarıya değer dönemezsin return ile her zaman null gelir. Onun yerine bu fonksiyonu void yapıp ikinci parametre olarak bir callback sınıfı oluşturabilirsin. Mesela;
    public interface GetStageCallback {
        void onCallback(String value);
    }
    gibi
    public void getStageNames(final string lev, GetStageCallback cb){
        //bla bla
        cb.onCallback(sc.getStage())
    }
    datayı okurken
    getStageNames("deneme",new GetStageCallback{
        @Override
        public void onCallback(String value){
            Log.d("TAG",value);
        }
    });
    yada class içinde global bir string değişken tanımla bu fonksiyonu yine void yap gelen değeri global değişkene ver bir metod daha yaz o metod da global değişkeni return etsin gibi.
  • 14-05-2018, 23:52:39
    #3
    mehmetuken adlı üyeden alıntı: mesajı görüntüle
    Hocam event ten dışarıya değer dönemezsin return ile her zaman null gelir. Onun yerine bu fonksiyonu void yapıp ikinci parametre olarak bir callback sınıfı oluşturabilirsin. Mesela;
    public interface GetStageCallback {
        void onCallback(String value);
    }
    gibi
    public void getStageNames(final string lev, GetStageCallback cb){
        //bla bla
        cb.onCallback(sc.getStage())
    }
    datayı okurken
    getStageNames("deneme",new GetStageCallback{
        @Override
        public void onCallback(String value){
            Log.d("TAG",value);
        }
    });
    yada class içinde global bir string değişken tanımla bu fonksiyonu yine void yap gelen değeri global değişkene ver bir metod daha yaz o metod da global değişkeni return etsin gibi.
    çok ama çok teşekkür ederim, gerçekten işe yaradı. denemediğim yol kalmamıştı, callback ile çözdük işi, harikasınız
  • 14-05-2018, 23:54:20
    #4
    insigne adlı üyeden alıntı: mesajı görüntüle
    çok ama çok teşekkür ederim, gerçekten işe yaradı. denemediğim yol kalmamıştı, callback ile çözdük işi, harikasınız
    Rica ederim iyi çalışmalar.