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