• 26-05-2017, 21:54:28
    #1
    String sLang = settings.getString("Language", "");
    
    if ( sLang == "TR") { Log.e("DİL","Türkçe");} else if (sLang == "EN") { Log.e("DİL","İngilizce");}
    Yukarıdaki kodda sLang değişkeninin değeri koşullardaki değere eşit olmasına rağmen (Log ile kontrol ettim) neden koşul içerisine girmiyor olabilir?

    Yardımlarınız için şimdiden teşekkür ederim.
  • 26-05-2017, 22:06:02
    #2
    Merhaba,

    String ifadelerde == operatörünü desteklemiyor, eşit olup olmadığını "equals" methodu ile sorgulayabilirsiniz, şöyle ki;

    if (sLang.equals("TR")) { 
    Log.e("DİL","Türkçe");
    } else if (sLang.equals("EN")) { 
    Log.e("DİL","İngilizce");
    }
    Bunun yanı sıra kod fazlalığı olmuş, kodunuzu şu şekilde düzenleyebilirsiniz;

    if (settings.getString("Language", "").equals("TR")) { 
    Log.e("DİL","Türkçe");
    } else if (settings.getString("Language", "").equals("EN")) { 
    Log.e("DİL","İngilizce");
    }
    Ayrıca if, else if durumlarında her zaman "else" durumunu da değerlendirin, uygulama exception durumuna düşmesin.
  • 26-05-2017, 22:13:53
    #3
    egebit adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    String ifadelerde == operatörünü desteklemiyor, eşit olup olmadığını "equals" methodu ile sorgulayabilirsiniz, şöyle ki;

    if (sLang.equals("TR")) { 
    Log.e("DİL","Türkçe");
    } else if (sLang.equals("EN")) { 
    Log.e("DİL","İngilizce");
    }
    Bunun yanı sıra kod fazlalığı olmuş, kodunuzu şu şekilde düzenleyebilirsiniz;

    if (settings.getString("Language", "").equals("TR")) { 
    Log.e("DİL","Türkçe");
    } else if (settings.getString("Language", "").equals("EN")) { 
    Log.e("DİL","İngilizce");
    }
    Ayrıca if, else if durumlarında her zaman "else" durumunu da değerlendirin, uygulama exception durumuna düşmesin.
    Yardımınız için teşekkür ederim.

    İyi Günler.