If EditText is empty then Login Button has to be disabled. And if EditText has some texts then Login Button has to be ena
You need to track user's action inside EditText using TextWatcher object:
myEditText.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
}
@Override
public void afterTextChanged(Editable s)
{
if (s.length() > 1)
{
//enable button
} else
//disable
}
});
heres what you are looking for :
private EditText et1,et2;
// create a textWatcher member
private TextWatcher mTextWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void afterTextChanged(Editable editable) {
// check Fields For Empty Values
checkFieldsForEmptyValues();
}
};
void checkFieldsForEmptyValues(){
Button b = (Button) findViewById(R.id.button1);
String s1 = et1.getText().toString();
String s2 = et2.getText().toString();
if(s1.equals("")|| s2.equals("")){
b.setEnabled(false);
} else {
b.setEnabled(true);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_check);
et1 = (EditText) findViewById(R.id.editText1);
et2 = (EditText) findViewById(R.id.editText2);
// set listeners
et1.addTextChangedListener(mTextWatcher);
et2.addTextChangedListener(mTextWatcher);
// run once to disable if empty
checkFieldsForEmptyValues();
}
hey if want to use the code cut the button needs to change color if the editText1_id and the editText1_passcode is in and in 4 digits
checkValidation();
editText1_id.addTextChangedListener(mWatcher);
editText1_passcode.addTextChangedListener(mWatcher);
}
private void checkValidation() {
// TODO Auto-generated method stub
if ((TextUtils.isEmpty(editText1_id.getText()))
|| (TextUtils.isEmpty(editText1_passcode.getText())))
loginbtn.setEnabled(false);
else
loginbtn.setEnabled(true);
}
TextWatcher mWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
checkValidation();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
};
}