Turkcell | Geleceği Yazanlar

Soru & Cevap

setOnclickListener(new onClickListener) i çağıramıyorum

26.09.2013 - 13:14

https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-201/ilk-android-uygulamasi  Bu dersi izliyordum hocam tüm adımlarıda yaptım ama setOnclickListener(new OnClickListener) yazarken new OnClickListener derken fonksiyon çıkmıyor Elimle Yazıyorum Gene Hata Veriyor Birde Verdiğim Fotoda kırmızı bir hata var 

13310 Görüntülenme

11 Cevap

olcay
18.06.2014 - 16:07

Anlamadım gitti sorun çözülmüş diyorlar ancak bende harfiyen aynı şeyleri yapmama rağmen aynı sorunla karşılaşıyorum. Bu kadar basit hatalarla programlar patlıyorsa çok garip bir durum bu bence.

 

Android konusunda çok yeniyim arkadaşlar yardımcı olabilirmisiniz.

 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Adem ÇETİNKAYA
09.04.2014 - 01:25

Soru çözüme kavuşalı bayağı olmuş ama belki birinin işine yarar;  bende bu akşam aynı sorunla uğraştım çözümü şu şekilde gözden kaçan bir ayrıntıymış :

butonu "protected void onCreate(Bundle savedInstanceState) "    metodu içerisinde tanımladığında noktayı koyduğunda tanımladığın nesnenin fonksiyonlarını çekiyor

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Enes Şen
27.09.2013 - 11:06

Selam Onur,

   Aslında eclipse bu durumu aynı sınıf isminden birden fazla var ise yapıyor. Farklı paketlerde aynı sınıf isimlerinin olması muhtemel. Mesela soruya sebep olan OnClickListener hem View.OnClickListener hem de DialogInterface.OnClickListener olmak üzere iki adet mevcut. Bahsettiğim organise Imports kısa yolunu kullandığınızda da karşınıza bir pencerede aynı isimli (ama farklı paketlerde )class ların çıkacağını ve birini seçmeniz gerektiğini göreceksiniz.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Onur KONCAOĞLU
27.09.2013 - 09:50

Eclipse arada sırada bazı inner class'ları görmüyor (sanırım interface classlarında), üstüne gelsen de import çıkmıyor. Bir kaç kere benim de başıma geldi, kendin import xxx.xx.... diye eklediğin zaman uyarı gidiyor. 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Ahmet Faruk GÜNTÜRKÜN
26.09.2013 - 23:14

 button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View paramV) {
                //Burada islemlerini yapacaksin
            }
        });

Yaptıktan sonra ctrl+shift+O ya basıp Click Listeneri seçeceksin. Ondan sonra hallolacaktır sorun.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Vehbi
26.09.2013 - 14:35

Çalıştırdım Yanıtlarınız için çok teşekkür ederim :) 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Vehbi
26.09.2013 - 14:34

uygulamayı sildim en baştan yazdım :) hata vermedi hocam emülatördede açılırsa sıkıntı yok gibi :) 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Enes Şen
26.09.2013 - 14:29

Selam,

     Bu sefer sanırım problem,Hakan'ın dediği gibi import problemi gibi duruyor.
Çözüm olarak OnClickListener yerine View.OnClickListener yazabilirsin. Yada importlarına 

import android.view.View.OnClickListener; 

ifadesini ekleyebilirsin.

Yine bir eclipse kısa yolu var, "organize imports" isimli. Bu kısa yol ile eksik importların eclipse tarafından otomatik olarak bulunuyor ve ekleniyor. "Ctrl+shift+o" tuşları bu özelliği çalıştırıyor. Burada da deneyebilirsin.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Vehbi
26.09.2013 - 14:21

Enes ŞEn hocam dediğiniz gibi yaptım ama setOnclickListener in altını çizdi bu seferde 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Enes Şen
26.09.2013 - 14:06

Selam Vehbi,

OnClickListener bir interface (arayüz) sınıfı olduğu için yeni obje yaratman durumunda, arayüz sınıfının yazmana zorladığı metodları doldurmak zorundasın. Bunu daha iyi anlaman için java sınıf tiplerini incelemeni tavsiye ederim.

Bir de resimden gördüğüm kadarıyla eclipse kullanıyorsun. Kod yazarken Eclipse in kod tamamlama özelliğini (ctrl+ boşluk tuşlarına aynı anda basarak) kullanmanı tavsiye ederim.

Kodunu aşağıdaki gibi değiştirirsen çalıştığını göreceksin.

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View paramV) {
                //Burada islemlerini yapacaksin
            }
        });


 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Hakan
26.09.2013 - 14:05

import işlemini yapmamış olabilirsin.o yazının üstüne gelip çıkan diyalogtan import diyebilirsin.yada kodu tamamla o şekilde tekrar bak.kolay gelsin

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.