Remove Useless Function TextWacher.
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'
}- TextWatcher (docs)
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());
}
});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);
}
}));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);
}
}));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 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 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);- 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
You can sent your constibution to branch open-pull.
Copyright 2020 M. Fadli Zein