Android ile EditText, TextView, Button kullanarak iki sayıyı toplama
Projenin nasıl oluşturulacağını, nasıl kullanılacağını bir önceki derste anlatmıştım. Bu uygulamamızda da proje oluşturup projemizi oluşturduktan sonra res-layout-main.xml dosyasını açıp activitymizi tasarlıyoruz.
Large text kontrolü ekledikten sonra sağ tıklayıp Edit Texte tıklayarak içerisindeki yazıyı değiştiriyoruz. Birinci sayıyı giriniz yapıyoruz.
Textfield bölümünden bir edittext ekliyoruz. Burda textfieldlerin içerisine girilebilecek değerler farklı farklıdır. Number için olandan ekliyoruz.
Eklediğimiz edittexte sağ tıklayıp Edit id diyoruz. İd edittextimizin adıdır. Bunu kod bölümünde kullanacağız. Adını sayi1 yapıyoruz.
Aynı şekilde bir large text ve edittext daha ekliyoruz.
Edittext2nin adını sayi2 yapıyoruz. Altına bir de button ekleyip sağ tıklayıp edit text ile button içerisindeki yazıyı değiştiriyoruz. Tekrar sağ tıklayıp edit idye tıklayarak adını topla yapalım.
Butonumuzun ekranın tamamını kaplaması için width özelliğini Match Parent yapalım.
Layout seçenekleri ile kontrollerimizin yerleşimlerini, sayfadaki genişlikleri vs. Ayarlayabiliriz.
Son olarak bir large Text daha ekleyip idsini sonuc yapalım. Sonuç burada gözükecek.
Şimdi activity kodlarımızı yazalım.
Src içerisindeki java dosyamızı açıyoruz.
Paketimiz, importlar, oncreate olayı vs. Kodlar içerisinde bulunmakta. Kodları yeşil olan bölüme yazacağız.
İlk edittextimizi tanımladık. Fakat EditTextin src bölümünde tanınması için import edilmesi gerekiyor. Fareyi edittext üzerine getirdiğimizde import yazısı çıkıyor tıklıyoruz…
Üst bölüme EditTextin import edildiğini görüyoruz.
Sayi2 adlı Edittextimizi ve sonuc adlı Textviewimizi tanımlıyoruz. Tanımlanan kontrolleri main.xmlden R.id.kontrolismi ile çağırıyoruz…
Buttonu da tanımlayıp import ediyoruz.
Topla isimli butonun tıklanma olayını oluşturmalıyız. Bunun için onclicklistener kullanmamız gerekiyor.
Kodumuzu yazdıktan sonra methodunu Add unimplemented methodsa tıklayarak ekletebiliriz.
Onclick olayına da butona tıklayınca yapılması gerekenleri yazıyoruz.
Yazdığımız kodlar
//kodları buraya yazacağız. final EditText sayi1=(EditText)findViewById(R.id.sayi1); final EditText sayi2=(EditText)findViewById(R.id.sayi2); final TextView sonuc=(TextView)findViewById(R.id.sonuc); Button topla=(Button)findViewById(R.id.topla); topla.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub float sayi1float=Float.parseFloat(sayi1.getText().toString()); //sayi1 içerisindeki değeri getText ile aldırıp floata //çevirip sayi1float değişkenine aktarıyoruz. (sayi2 içinde altta) float sayi2float=Float.parseFloat(sayi2.getText().toString()); sonuc.setText(String.valueOf(sayi1float+sayi2float)); //sonuc textviewine sayi1float ve sayi2floatı toplatıp //değeri string olarak yazdırıyoruz } });
Activitynin tamamının kodları;
package com.ceylan.androiduygulamasi; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class AndroiduygulamamActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //kodları buraya yazacağız. final EditText sayi1=(EditText)findViewById(R.id.sayi1); final EditText sayi2=(EditText)findViewById(R.id.sayi2); final TextView sonuc=(TextView)findViewById(R.id.sonuc); Button topla=(Button)findViewById(R.id.topla); topla.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub float sayi1float=Float.parseFloat(sayi1.getText().toString()); //sayi1 içerisindeki değeri getText ile aldırıp floata //çevirip sayi1float değişkenine aktarıyoruz. (sayi2 içinde altta) float sayi2float=Float.parseFloat(sayi2.getText().toString()); sonuc.setText(String.valueOf(sayi1float+sayi2float)); //sonuc textviewine sayi1float ve sayi2floatı toplatıp //değeri string olarak yazdırıyoruz } }); } }
Gelen arama terimleri:
- android edittext kullanımı
- android toplama işlemi
- android edittext
- android textview
- android textview kullanımı
- eclipse toplama işlemi
- android string toplama
- android toplama
- eclipse iki sayının toplamı arif
Selam Hocam,
Yeni başlıyorum kodlar için çok teşekkür ederim,
Ama bazı crashler var örneğin hiç bir değer girilmeden tamam butonuna basıldığında uygulama patlıyor.
Edit textlerin içini bir şekilde denetlemem lazım bunu nasıl yapmam gerekiyor
teşekkürler.
if-else ile kontrol yapabileceğiniz gibi try-catch bloklarını da kullanabilirsiniz. her türlü hatada sonuca hata var yazdırır. örneğin;
onclick olayının içerisini aşağıdaki gibi düzenleyebilirsiniz. bu şekilde program kapanmaz, sonuc textviewine hatalı değer girildi yazar.
public void onClick(View v) {
// TODO Auto-generated method stub
try
{
float sayi1float=Float.parseFloat(sayi1.getText().toString());
//sayi1 içerisindeki değeri getText ile aldırıp floata
//çevirip sayi1float değişkenine aktarıyoruz. (sayi2 içinde altta)
float sayi2float=Float.parseFloat(sayi2.getText().toString());
sonuc.setText(String.valueOf(sayi1float+sayi2float));
//sonuc textviewine sayi1float ve sayi2floatı toplatıp
//değeri string olarak yazdırıyoruz
}
catch (Exception e) {
// TODO: handle exception
sonuc.setText(“hatalı bir değer girildi”);
}
kolay gelsin
Merhaba Arif Bey,
Emeğiniz için teşekkür ederim.
Başarılı bir çalışma hayatı dilerim.
hocam butona tıklayınca alt alta kelimeler yazan programı nasıl yapabiliriz