Anasayfa » Android » Android onClickListener() ve Toast

Android onClickListener() ve Toast

Onclick Listener; Listener bir dinleyicidir. Kendisine sunulan bildirimi dinler ve cevap olarak sunar. Örneğin bir butona basıldığında yapılması gereken işlem, butona basıldıkdan sonra bir text alanına sadece yazı girilmesini istediğiniz durumlarda tıklama durumunda yapılması gereken işlemlerin yapıldığı kod alanıdır.

Toast; Belli bir süre aralığında ekranda görünüp kaybolan kullanıcıya bildirim amaçlı sunulan bir küçük penceredir. Örneğin bir alarm kurduğumuzda (alarm şukadar gün saat sonrasına ayarlandı) gibi bu mesajı telefonumuzda uyarı olarak görebiliriz. Toast’ın ekranda kalma süresini belirleyebiliriz.

Şimdi bu iki durumu daha iyi anlamamız için bir örnek yapacağız.

Yeni bir android uygulaması yapıyoruz . Daha önce burada yeni bir uygulama oluşturmayı anlatmıştım

Örneğimizde kullanacağımız nesneler

1 Adet EditText : Yazı girdirip ekrana toast içerisinde yazdıracağımız yazı

1 Adet Button: Tıklama sonrası mesajı göstermemiz için kullanacağımız buton

main.xml sayfamız

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"    
    tools:context="com.example.mesajgoster.MainActivity" >

    <EditText 
        android:id="@+id/mesajEditText"
        android:layout_width="fill_parent"
        android:layout_height="120dp"
        android:hint="Mesajınız"
        android:lines="5"
        android:gravity="top|left"
        android:background="@android:drawable/edit_text"
        android:textColor="@android:color/black"
        android:layout_alignParentTop="true"
        />
    <Button 
        android:id="@+id/buttonGoster"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"       
        android:layout_below="@id/mesajEditText"        
        android:text="Mesaj Göster"  
        />
</RelativeLayout>

program bloğunda yapacağımız işlemler

MainActivity.java

package com.ademaktas;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button buttonGoster=(Button) findViewById(R.id.buttonGoster);
        final EditText mesajEditText = (EditText) findViewById(R.id.mesajEditText);
        
            buttonGoster.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view){    
                String mesajText= mesajEditText.getText().toString();
                String sonMesaj= "Mesajınız " + mesajText + "!";
                Toast.makeText(MainActivity.this,sonMesaj,Toast.LENGTH_LONG).show();
            }
        });
    }

    
}

Şimdi sıra geldi kaydet butonuna bastığımızda onclick listener ile oluşturduğumuz nesnelere erişip toast ile ekrana yazı yazmaya

Hangi işlemleri yaptık

Bir Click Listener tanımladık. Kaydet butonuna tıklandığı anda;

findViewById() methodu ile ile resource id ve view leri birbirine tanımladık.

mesajText adlı bir string tanımladık Ekranda göstereceğimiz mesajın ilgili nesnesine (R.id.editTextMesaj) ile erişmiş olduk. getText().toString(); methodu ile girilen mesajı mesajText adlı stringimize atadık

sonMesaj adlı string değişkenini tanımladık içerisine mesajText stringimizi atadık

Daha sonra butona tıkladıkdan sonra Toast komutu ile mesajımızı ekrana yazdırdık

Mesaj Göster butonuna tıkladıkdan sonra, onclick listener içerisinde tanımladığımız işlemlerin çalışmasını istedik.

Yani biz her mesajı göster butonuna tıkladığımızda program onclick metodunu çağırarak tanımlanan işlemleri uygulamaya geçecek text alanına girdiğimiz mesajı ekrana yazdırmaya çalışacak demektir.

Uygulamayı emülatörde çalıştırarak sonucu görebilirsiniz

Cevapla

E-posta adresiniz yayınlanmayacak. Required fields are marked *

*


+ sekiz = 17

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>