Android'de EditText kullanımı ve örnek uygulama

Android uygulamalarda EditText önemli bir yer tutmaktadır. Kullanıcıların veri girmesi için activitylere eklenilmektedir. Makalemizde öncelikle normal EditText'in nasıl oluşturulduğunu açıklayacağız. Sonrasnda EditText alanına yazılan verinin enter tuşuna basıldığında veya 5 rakamına basıldığında Toast mesajında gösterimini sağlayacağız.

1. Android EditText Örneği: 
Aşağıdaki kodlamada uygulamamızda  ilk olarak EditText oluşturacağız. Öncelikle butonun gösterileciği sayfanın arayüzünü aşağıda bulunan layout yapısından alalım. res/layout/activity_main.xml dosyası oluşturup aşağıda bulunan kodlamayı dosyanın içerisine yapıştıralım.
<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" 
    android:background="#FFFFFF" > 

    <ImageView
        android:id="@+id/yazilimdersiImageView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" 
        android:padding="10dp" 
        android:src="@drawable/ic_launcher" /> 

    <EditText 
        android:id="@+id/editText" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerHorizontal="true" 
        android:layout_centerVertical="true" 
        android:ems="10" /> 

    <TextView 
        android:id="@+id/TextView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_above="@+id/editText" 
        android:layout_centerHorizontal="true" 
        android:layout_marginBottom="17dp" 
        android:padding="10dp" 
        android:gravity="center" 
        android:text="@string/sampletext" /> 

    <ImageView 
        android:id="@+id/yazilimdersiheaderImageView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentTop="true" 
        android:layout_centerHorizontal="true" 
        android:src="@drawable/logo" /> 
</RelativeLayout>
Uygulamanın ekran görüntüsü aşağıdaki gibi olacaktır.
 

Sonrasında EditText elementine onKeyListener eventinin eklenmesini sağlayacağız. Böylelikle kullanıcının 5 rakamına veya enter tuşuna bastığını anlamış olacağız. Sonrasında ise Toast mesajının görüntülemesi için gerekli kodlamayı MainActivity.java dosyasına yapıştırabilirsiniz. setOnKeyListener() metodu sayesinde butona tıklanıldığında toast gösterimine ait mesaj çağrılmaktadır.
public class MainActivity extends Activity { 
    public Button openbrowserButton; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        editText = (EditText) findViewById(R.id.editText); 

        editText.setOnKeyListener(new OnKeyListener() { 

            public boolean onKey(View v, int keyCode, KeyEvent event) { 

                if ((event.getAction() == KeyEvent.ACTION_DOWN) 
                    && (keyCode == KeyEvent.KEYCODE_ENTER)) { 
            
                    Toast.makeText(MainActivity.this, editText.getText(), Toast.LENGTH_LONG).show(); 
                    return true; 
                } else if ((event.getAction() == KeyEvent.ACTION_DOWN)
                    && (keyCode == KeyEvent.KEYCODE_5)) { 

                    Toast.makeText(MainActivity.this, "5 tuşuna basıldı!", Toast.LENGTH_LONG).show(); 
                    return true; 
                } 
            
                return false; 
            } 
        });

    } 
}
Yukarıdaki kodlamada gördüğünüz üzere  cursor EditText alanında iken KeyEvent.KEYCODE_ENTER tıklanıldığında Toast mesajında EditText içerisinde yazılı olan ifadelerin gösterimi sağlandı. Eğer kullanıcı 5 tuşuna basarsa, Toast mesajı olarak "5 tuşuna basıldı!" mesajının gösterimi sağlandı. Kodlamada 5 rakamının algılanmasını ise KeyEvent.KEYCODE_5 ile sağlayabiliyoruz. Örnek EditText Uygulaması ile alakalı kodu aşağıdaki butona tıklayarak indirebilirsiniz:
comments powered by Disqus