Toast mesajları ekranda birkaç saniye kalarak kaybolan geçici bildirim mesajlarıdır. Toast mesajları herhangi bir olay meydana geldiğinde kullanıcıyı bilgilendirme amacıyla kullanılırlar. Örneğin, bir sözlük uygulamasında bir kelimeyi sildiğiniz zaman silme işleminin başarılı olup olmadığını kullanıcıya göstermek için toast mesajı kullanabiliriz. Şimdi default olarak kullanılan Toast mesajlarının kullanımını daha iyi anlayabilmek için küçük bir uygulama yapalım. Bu uygulamada iki sayıyı toplayıp sonucu ekranda bir toast mesajıyla gösterelim. Bu uygulamada ayrıca bir edittext değerini tamsayıya çevirmeyi de görüyoruz.
1. Öncelikle res/layout/ dizininde activity_main.xml dosyamızı oluşturuyoruz. Burada 2 TextView, 2 EditText ve 1 Button nesnesi ekliyoruz. Aşağıda kod parçası ve ekran görüntüsünü görebilirsiniz.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<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.sdahmet.toastmessage.MainActivity">
<TextView
android:id="@+id/textview_sayi1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textview_sayi2"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/textview_sayi2"
android:layout_marginTop="36dp"
android:text="Sayı 1 : " />
<TextView
android:id="@+id/textview_sayi2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/textview_sayi1"
android:layout_marginLeft="89dp"
android:layout_marginStart="89dp"
android:layout_marginTop="46dp"
android:text="Sayı 2 :" />
<EditText
android:id="@+id/edittext_sayi1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textview_sayi1"
android:layout_alignBottom="@+id/textview_sayi1"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_toEndOf="@+id/textview_sayi1"
android:layout_toRightOf="@+id/textview_sayi1"
android:ems="10"
android:inputType="numberSigned" />
<EditText
android:id="@+id/edittext_sayi2"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textview_sayi2"
android:layout_alignBottom="@+id/textview_sayi2"
android:layout_alignLeft="@+id/edittext_sayi1"
android:layout_alignStart="@+id/edittext_sayi1"
android:ems="10"
android:inputType="numberSigned" />
<Button
android:id="@+id/button_topla"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/edittext_sayi2"
android:layout_alignStart="@+id/edittext_sayi2"
android:layout_below="@+id/edittext_sayi2"
android:layout_marginTop="27dp"
android:text="TOPLA" />
</RelativeLayout>
Ekran görüntüsü

2. MainActivity.java dosyamızı oluşturarak aşağıdaki kodları yazalım.
package com.sdahmet.toastmessage;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
TextView tvSayi1, tvSayi2;
EditText etSayi1, etSayi2;
Button btnTopla;
Context context = this;
int sayi1, sayi2, toplam;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
setClickables();
}
public void initViews() {
tvSayi1 = (TextView) findViewById(R.id.textview_sayi1);
tvSayi2 = (TextView) findViewById(R.id.textview_sayi1);
etSayi1 = (EditText) findViewById(R.id.edittext_sayi1);
etSayi2 = (EditText) findViewById(R.id.edittext_sayi2);
btnTopla = (Button) findViewById(R.id.button_topla);
}
public void setClickables() {
btnTopla.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sayi1 = Integer.parseInt(etSayi1.getText().toString());
sayi2 = Integer.parseInt(etSayi2.getText().toString());
toplam = sayi1 + sayi2;
Toast.makeText(context, "Toplam : " + toplam, Toast.LENGTH_LONG).show();
}
});
}
}
Adım adım inceleyecek olursak;
Aşağıdaki kod bloğuyla TextView, EditText ve Button tipinde değişkenlerimizi oluşturuyoruz. Context tipinde oluşturduğumuz context değişkenini toast mesajını gösterirken kullanacağız. Son olarak int (tam sayı) tipinde sayi1, sayi2 ve toplam değişkenlerini tanımlıyoruz.
TextView tvSayi1, tvSayi2;
EditText etSayi1, etSayi2;
Button btnTopla;
Context context = this;
int sayi1, sayi2, toplam;
initViews() metodu içine yazdığımız kodlarla activity_main.xml sayfasında oluşturduğumuz nesnelere erişip yukarıda tanımladığımız değişkenlere bağlıyoruz.
public void initViews() {
tvSayi1 = (TextView) findViewById(R.id.textview_sayi1);
tvSayi2 = (TextView) findViewById(R.id.textview_sayi1);
etSayi1 = (EditText) findViewById(R.id.edittext_sayi1);
etSayi2 = (EditText) findViewById(R.id.edittext_sayi2);
btnTopla = (Button) findViewById(R.id.button_topla);
}
setClickables() metodunda ise btnTopla değişkeni ile eriştiğimiz buttona tıklandığı zaman yapılacak işlemleri yazıyoruz.
public void setClickables() {
btnTopla.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sayi1 = Integer.parseInt(etSayi1.getText().toString());
sayi2 = Integer.parseInt(etSayi2.getText().toString());
toplam = sayi1 + sayi2;
Toast.makeText(context, "Toplam : " + toplam, Toast.LENGTH_LONG).show();
}
});
}
Burada Integer.parseInt() metoduyla edittext içine yazılan değeri tamsayıya çeviriyoruz. Daha sonra bu değerleri sayi1 ve sayi2 değişkeninde saklıyoruz ve toplam değişkenine toplam sonucu atıyoruz.
Son satırda ise Toast mesajını nasıl oluşturduğumuzu görebilirsiniz.
// Uzun süreli
Toast.makeText(context, "Toplam : " + toplam, Toast.LENGTH_LONG).show();
// Kısa süreli
Toast.makeText(context, "Toplam : " + toplam, Toast.LENGTH_SHORT).show();
Sonuç ekran görüntüsü
