Ana içeriğe atla

Andorid Studio EditText 'e sadece sayı girilmesine izin vermek ( Nasıl Yapılır )

 Merhaba

Android Programlamaya merak saldığımı bir önceki yazımda bahsetmiştim. Gerçekten farklı bir dalmış enteresan hatalar çıkıyor ve bu hataların genelde birden fazla çözümü oluyor. Google amcadan arama yaptığımızda karşıma çıkan sorunların İngilizce forumlarda (https://stackoverflow.com) nerdeyse tamamına çözüm buldum. Türkçe kaynak olarak da Geleceği Yazanlar - Turkcell forumu yardımcı oluyor. 

Bir hesap makinesi tabanlı uygulama geliştirmeye çalışıyorum sizde benim gibi bir uygulama üzerinde çalışıyorsanız kullanıcıların değer girdiği kısımları kısıtlamaya ihtiyaç duyabilirsiniz. Niye böyle bir şeye ihtiyaç duyayım klavye çıkıyor bir zahmet harf yerine sayı girsin diye düşünenler de çıkabilir. Ancak bu tarz kısıtlamalar yapmadığınız durumlarda kullanıcı uygulamayı kullanırken uygulamanız hata verip kapanacaktır veya kullanımı zor olacaktır.




Amacınız örnek olarak böyle bir şey tasarlamaksa değiştirmediyseniz sizde de aynıdır activity_main.xml kısmına geliyorsunuz.

Oradan Code veya Split görünümünü seçiyorsunuz.



Orada düzenlemek istediğiniz EditText kısmınıza aşağıdaki ifadeleri eklerseniz sizin de emulator veya telefonda görüntünüz bu şekilde olacaktır. Burada dikkat edeceğiniz tek kısım var direk kopyalamayın örneğin kodun içinde inputType zaten vardır var olanı değiştirin eğer yoksa direk kopyalayabilirsiniz.
android:inputType="numberDecimal"
android:digits="0123456789"

    Örnek olsun diye tüm kodu aşağıya ekliyorum. İlginç bir şekilde ben inputType kısmını "numberPassword" olarak da yapmıştım bir önceki uygulamamda o zaman olmuştu. Bu uygulamamda aynı yöntemi deneyince android studio emulator kısmında deneyince yazdığım numaralar şifre girermiş gibi gizleniyordu ondan Google Amcadan araştırma yaparak bu yeni yöntemi buldum. Neden iki farklı sonuç aldığımı tam anlayamadım ilk olarak sayıların gizlenme sorununu düzeltmeye çalıştım ama onu ararken bu yöntemi buldum.


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:id="@+id/udeger"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="183dp"
android:layout_marginEnd="18dp"
android:text="Uzunluk"
android:textSize="25sp"
app:layout_constraintEnd_toStartOf="@+id/uzunlukText"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<EditText
android:id="@+id/uzunlukText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
android:digits="0123456789"
android:ems="10"
android:hint="Değer Giriniz"
android:inputType="numberDecimal"
android:textSize="20sp"
app:layout_constraintBaseline_toBaselineOf="@+id/udeger"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/udeger" />
</androidx.constraintlayout.widget.ConstraintLayout>

Umarım sizin de işiniz görülmüştür.

İyi günler




Yorumlar

Bu blogdaki popüler yayınlar

Ankara da askeri malzeme satan yerler

Askerliği Ankarada yapıyor yada yapacaksanız bu bilgi çok işinize yarayacaktır. Öncelikle Kızılay'dan Ankaray'a biniyorsunuz. Ankaray'da Maltepe durağında iniyorsunuz Maltepe durağından yer yüzüne çıktığınızda Anadolu Ajansı Genel Müdürlüğünün hemen bitişiğinde Tandoğan Askeri malzemeler pasajı var. Orda A'dan Z'ye bütün malzeme ihtiyacınızı giderebilirsiniz . Pasaj olduğu için çok fazla mağaza var malzeme kalmaması veya tekelleşme nedeniyle fiyat artışı da olmuyor fiyatlar gayet makul düzeyde. Hayırlı teskereler Edit 2022 : Yazıyı 2014 yılında yazmıştım geçenlerde araştırma yaptığımda bu çarşı ve dükkanlar kapanmış. Alternatif yerleri aşağıda belirttim. 2014 yılında askerlik yaparken acemi birliğinde spor ayakkabım kaybolmuştu usta birliğinde de spor ayakkabısı olmayanlar için sorun oluyordu o zaman askeri malzeme satan yerleri araştırmıştım Maltepe Pasajı ve Sıhhiye'deki pasajlar vardı Maltepe'nin kapandığını öğrenince yazıyı güncellemek için Sıh

Casio fx 82ms ile farklı tabanda logaritma hesaplaması yapmak

Bugün arkadaşım bana logaritma 3 tabanında bir sayıyı bizim hesap makinesinde nasıl buluyoruz diye sordu bende merak ettim, daha önce hiç kullanmamıştım. Araştırdım zaten direk olarak bizim makine ile hesaplayamıyormuşuz. Aşağıdaki denklem yardımıyla bu hesabı kolayca yaptık sizde bu sayede kolayca yapabilirsiniz. Örneğin logaritma 2 tabanında 16 ( log 2 16 ) değerini hesaplamak istiyorsunuz.  Hesap makinenizde log 16 / log 2 yaparsanız (aşağıda da resim olarak formül var) istediğiniz sonucu bulursunuz. Hesap makinesi sadece 10 tabanında işlem yaptığı için bu şekilde pratik kısa yolu kullanabilirsiniz Birde bu hesap makinesinin kısa yollarını yapabileceğin işlemlerini gösteren bir döküman buldum işinize yarar Edit 2021 :  Prof. Dr. Ahmet TOPÇU hocamızın 2019 yılında vefatı sebebiyle verdiğim link bozulmuş bu nedenle linki sildim ancak  https://insaat.ogu.edu.tr/Personel/Detay/46/prof-dr-ahmet-topcu  bu sitede ilgili dökümanlar duruyor.

Kızılay'dan ANKAmall AVM ' ye nasıl giderim ?

ANKAmall Avm'yi tadilata girmeden önce gezmiştim , bayağı bir dükkanı sineması fln tadilattaydı merak ettim  nasıl olmuş diye  gerçi bütün avm 'ler aynı ama  :) Sizde Ankaraya gelmişken şu ANKAmall 'u bir geziyim derseniz. Metroyu kullanmanızı öneririm. Kızılay Metrosuna giriyoruz. Kızılay metro istasyonunda büyük bir çarşı var genellikle kıyafet ağırlıklı dükkanlar ayrıca Şeyh Şamil Camii var bunu da not olarak düşelim. Ankarada Metro , Ankaray ve bazı otobüsler ile seyahat etmeniz için bir AnkaraKart ihtiyacınız olacaktır , umarım vardır çünkü kızılay istasyonunundan yenisini almak genellikle sıra olduğundan biraz uzun sürüyor ancak Bankamatik tarzı çalışan ve istasyonun belli bölümlerinde bolca bulunan Smartbanko tarzı cihazlardan almanız sizin vakit olarak yararınıza olur.                         Foto: Smart Banko Ayrıntıları geçersek Kızılay Metro İstasyonundan Metro bölümünden giriş yapmanız  ( Ankaray bölümü de var ondan özellikle yazdım ) Kı