Skip to content

gzeinnumer/SimpleTextWatcher

Repository files navigation

SimpleTextWatcher


Remove Useless Function TextWacher.


Content List


Download

Add maven jitpack.io and dependencies in build.gradle (Project) :

// build.gradle project
allprojects {
  repositories {
    ...
    maven { url 'https://jitpack.io' }
  }
}

// build.gradle app/module
dependencies {
  ...
  implementation 'com.github.gzeinnumer:SimpleTextWatcher:version'
}

Feature List


Tech stack and 3rd library

  • TextWatcher (docs)

Usage

TextWacher Default Method Callback

Java

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        Log.d(TAG, "beforeTextChanged: "+s+"_"+start+"_"+count+"_"+after);
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        Log.d(TAG, "onTextChanged: "+s+"_"+start+"_"+before+"_"+count);
    }

    @Override
    public void afterTextChanged(Editable s) {
        Log.d(TAG, "afterTextChanged: "+s.toString());
    }
});

beforeTextChanged.

Java

editText.addTextChangedListener(new SimpleTextWatcher(new BeforeTextChanged() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        Log.d(TAG, "beforeTextChanged: "+s+"_"+start+"_"+count+"_"+after);
    }
}));

onTextChanged.

Java

editText.addTextChangedListener(new SimpleTextWatcher(new OnTextChanged() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        Log.d(TAG, "onTextChanged: "+s+"_"+start+"_"+before+"_"+count);
    }
}));

afterTextChanged.

To check your date is in range between 2 date or not.

Java

editText.addTextChangedListener(new SimpleTextWatcher(new AfterTextChanged() {
    @Override
    public void afterTextChanged(Editable s) {
        Log.d(TAG, "afterTextChanged: "+s.toString());
    }
}));

Filter Symbol.

filter all symbol include space.

Java

TextInputEditText textInputLayout = findViewById(R.id.ed_ed_p);
TextInputLayout textInputEditText = findViewById(R.id.ed_ed);

//type 1
textInputEditText.addTextChangedListener(new TextNoSimbol(textInputEditText)); //with TextInputLayout

//type 2
textInputEditText.addTextChangedListener(new TextNoSimbol(textInputLayout, textInputEditText)); //without TextInputLayout

//validate value
if (TextNoSimbol.isValidNoSymbol(textInputEditText.getText().toString())){
    Log.d(getClass().getSimpleName(), "onCreate: include simbol");
} else {
    Log.d(getClass().getSimpleName(), "onCreate: not include simbol");
}

filter all symbol, but permit some symbol.

Java

String permitedSymbol = "!@#$%^&*( ";

//type 3
textInputEditText.addTextChangedListener(new TextNoSimbol(textInputLayout, textInputEditText, permitedSymbol));

//validate value
if (TextNoSimbol.isValidNoSymbol(textInputEditText.getText().toString(), permitedSymbol)){
    Log.d(getClass().getSimpleName(), "onCreate: include simbol");
} else {
    Log.d(getClass().getSimpleName(), "onCreate: not include simbol");
}

Disable Space Zero.

Disable space and zero at first.

Java

EditText editText = findViewById(R.id.ed);
EditText textInputEditText = findViewById(R.id.ed_ed);

//disable Zero
new CharAtFirst().disableZero(editText, textInputEditText);

//disable Space
new CharAtFirst().disableSpace(editText, textInputEditText);

//disable Space Zero
new CharAtFirst().disableZeroSpace(editText, textInputEditText);

Version

  • 1.0.0
    • First Release
  • 1.0.1
    • Simple CallBack
  • 2.0.0
    • Support SDK 16
  • 2.1.0
    • new feature TextNoSimbol
  • 2.2.0
    • new feature Disable Zero Or Space
  • 2.2.1
    • Bug Fizing

Contribution

You can sent your constibution to branch open-pull.


Copyright 2020 M. Fadli Zein

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages