Merhaba uygulamamda edittextlerin içi boş olmasına rağmen butona bastığımda doğrudan else içindeki kod çalıştırılıyor.Nerede hata yapıyorum?Nasıl çözebilirim?

btnTamamla.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(etIslem1.getText().toString()=="" || etIslem2.getText().toString()=="" || 
                    etIslem3.getText().toString()=="" || etIslem4.getText().toString()==""
                    || etIslem5.getText().toString()==""){

                Toast.makeText(getApplicationContext(),
                        "Lütfen tüm soruları cevaplayınız", Toast.LENGTH_SHORT).show();
            }

            else{
                //esas işlemler

                SureyiDurdur();
                try {
                    IslemleriYap();
                } catch (UnknownFunctionException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (UnparsableExpressionException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                DoğruluklarıKontrolEt();
                EkranınSonDurumu();
                CevaplarıGoster();
                DegerlendirmeyiYap();

            }

            }

    });

soruldu: 14 May '14, 08:34

juanov's gravatar image

juanov
455465555
cevap kabul oranı: 33%


if(gelenstring.equals(""))

ile boş olup olmadığını kontrol edebilirsiniz.

== yemez string için

permanent link

cevaplandı: 14 May '14, 18:11

kursatonsoz's gravatar image

kursatonsoz
10113
cevap kabul oranı: 33%

çok teşekkürler kürşat bey.dediğiniz gibi equals kullanınca sorun çözüldü

(15 May '14, 01:25) juanov juanov's gravatar image
etIslem1.getText().toString()=="" || etIslem2.getText().toString()=="" || 
                    etIslem3.getText().toString()=="" || etIslem4.getText().toString()==""
                    || etIslem5.getText().toString()==""

Boşluk, null karakter, whitespace olabilir. Bu tür kontrol yerine, apache'nin common kütüphanelerini kullanınız.

Ornek ;

if(StringUtils.isEmpty(etIslem1.getText())){

}

gibi, ek olarak getText() zaten String deger donmüyormu neden toString() metodu ile String'e ceviriyorsunuz.

permanent link

cevaplandı: 14 May '14, 08:48

Turgay%20Can's gravatar image

Turgay Can
8.4k63799
cevap kabul oranı: 18%

getText() ile Editable tipinde veri dönüyor.toString yapılmadığında hata veriyor. Common kütüphanelerini indirip bir daha deneyeceğim.

(14 May '14, 09:34) juanov juanov's gravatar image

"==" operatörü java'da value yerine referans(ram'deki adres) karsilastirmasi yapar, equals() metodunu kullanmalisin :] ayrıntı icin http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java

(14 May '14, 09:47) gturedi gturedi's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×819

Soruldu: 14 May '14, 08:34

Görüntüleme: 499 kez

Son güncelleme: 15 May '14, 01:25

powered by BitNami OSQA