SORU
8 Ocak 2013, Salı


Android edittext için min ve max değeri tanımlamak için bir yolu var mı?

Bir edittext için min ve max değer tanımlamak istiyorum. Eğer herhangi bir kişi ay bir değer girmeyi deneyin, örneğin bildiğiniz gibi 1-12 arası olmalı. Bu değer sınırlamak istiyorum.

TextWatcher kullanarak yapabilirim ama öğrenmek istiyorum, orada düzen bir dosya ya da vb bunu yapmak için herhangi bir yolu dışında TextWatcher?

Edit: Karakter sayısını sınırlamak istemiyorum. Değerini sınırlamak istiyorum. Eğer ay edittext w harfi sınırı örneğin, 12 girdiğimde bunu kabul eder ama eğer 22 girersem giriyorum ederken kabul çıkmamalı.

Herkese teşekkürler. Saygılar.

CEVAP
8 Ocak 2013, Salı


Önce bu sınıf olun :

package com.test;

import android.text.InputFilter;
import android.text.Spanned;

public class InputFilterMinMax implements InputFilter {

    private int min, max;

    public InputFilterMinMax(int min, int max) {
        this.min = min;
        this.max = max;
    }

    public InputFilterMinMax(String min, String max) {
        this.min = Integer.parseInt(min);
        this.max = Integer.parseInt(max);
    }

    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {   
        try {
            int input = Integer.parseInt(dest.toString()   source.toString());
            if (isInRange(min, max, input))
                return null;
        } catch (NumberFormatException nfe) { }     
        return "";
    }

    private boolean isInRange(int a, int b, int c) {
        return b > a ? c >= a && c <= b : c >= b && c <= a;
    }
}

O zaman etkinliğinizi bu kullanın :

EditText et = (EditText) findViewById(R.id.myEditText);
et.setFilters(new InputFilter[]{ new InputFilterMinMax("1", "12")});

Bu kullanıcı girmek için izin verecektir12 ile 1 arasında değerler sadece.

DÜZENLEME :

android:inputType="number" ile edittext ayarlayın.

Teşekkürler.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • Ionized Digital Air Studios

    Ionized Digi

    20 HAZİRAN 2009
  • NicoleGrippo

    NicoleGrippo

    14 Kasım 2006