Android Buton Tıklanma, Kontrol Etmek ve Farklı Tıklama Olayları Vermek

Android programlamada çoğu zaman bir butona tıklandığında istenilen işlemlerin yapılması istenir. Peki Android  butona basılma nasıl kontrol edilir? Yada Android farklı butona basılma kontrolleri var mıdır?

Android Buton Tıklama aslında oldukça basit. Kod ve açıklamalar aşağıda yer almaktadır.

package com.example.mustafa.myapplication;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
// Genel olarak android buton tıklama olayları anlatılmıştır.
// Dikkat ederseniz View.OnClickListener implements edilmiş durumda.
public class Main2Activity extends AppCompatActivity implements View.OnClickListener{

    // Butonlarımızı dışarıdan da erişebilmek genel için tanımlıyoruz.
    Button mesaj1_btn;
    Button mesaj2_btn;
    Button mesaj3_btn;

    TextView yazi_metni;

    int sayac=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        // Tanımladığımız butonlara id ataması yapıyoruz ve Button sınıfına cast ederek kullanabilir hale getiriyoruz.
        mesaj1_btn=(Button)findViewById(R.id.mesaj1);
        mesaj2_btn=(Button)findViewById(R.id.mesaj2);
        mesaj3_btn=(Button)findViewById(R.id.mesaj3);

        // TextView tanımlama ve cast işlemleri
        yazi_metni= (TextView)findViewById(R.id.textView_Metnimiz);

    // Butonlara tıklanma olayını tanımlıyoruz. setOnClickListener() Android de tıklanma olayını yakalamak için kullanılır.
    // setOnClickListener(this) -> burada yer alan this bu activity, burada demektir.
    // Her butona basıldığında onClick() methodu çalışır.
    mesaj1_btn.setOnClickListener(this);
    mesaj2_btn.setOnClickListener(this);
    mesaj3_btn.setOnClickListener(this);

/*
        // veya direk olarak istediğimiz butonun tıklanma olayını kontrol edebiliriz.
        mesaj1_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Tıklanma Olayları
                // mesaj1_btn BUTONUNA tıklandığı zaman burası çalışır.
            }
        });
*/    }
                 // Android birden fazla butonun tıklanma olayında aynı işlemlerin gerçekleşmesi ///
    // View.OnClickListener implements ettiğimiz için zorunlu olarak override etmemiz gereken method onClick() metodudur.
    // Şu anda tüm butonlara tıklanma eylemi tek onClick() metodu tarafından yakalanıyor ve koşul belirtmediğimiz için aynı method hepsi için aynı şekilde çalışıyor.
    @Override
    public void onClick(View v) {
        // Ana msayfamızda bulunan TextView text'ine sayac değerini yazdırıyoruz.
        // Bu kodlara göre ekrandaki herhangi butona basılması methodu tetikleyecek ve ekranda bulunan textview içerisindeki sayaç değişkeni sürekli artacaktır.
        yazi_metni.setText("Sayac : "+ (sayac++));
    }
}

Üste buton tıklama yakalama ile ilgili olarak örnek verilmiştir. Ayrıca  butona tıklanma olayını yakalamak için aşağıdaki yöntem de kullanılabilir.

    @Override
    public void onClick(View v) {
        // v değişkeni ile methodtan gelen id'ye göre işlem yapmak için gelen id'yi kontrol edebiliriz.
        
        // v.getId() değeri mesaj1_btn id değerine eşit ise çalış demektir.
        // getId() ile gelen id alınmıştır.
        if (v.getId()==mesaj1_btn.getId()){
            yazi_metni.setText("Sayac : "+ (sayac++));
        }
    }

Android Buton Tıklama Uygulama Ekran Görüntüsü

 

Benzer Yazılar

Web sitemizde size en iyi deneyimi sunabilmemiz için çerezleri kullanıyoruz. Bu siteyi kullanmaya devam ederseniz, bunu kabul ettiğinizi varsayarız.