package ve.gob.cenditel.tibisaymovil; import android.app.Activity; import android.app.Dialog; import android.text.Editable; import android.text.TextWatcher; import android.view.Window; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class PasswordConfirmationDialog extends Dialog implements TextWatcher { private PasswordConfirmationView viewHolder; public PasswordConfirmationDialog(Activity activity, int titleId) { super(activity); this.viewHolder = new PasswordConfirmationView(activity, titleId); } public void setAcceptListener(android.view.View.OnClickListener listener) { this.viewHolder.accept.setOnClickListener(listener); } public String getPassword() { return this.viewHolder.password.getText().toString(); } @Override public void afterTextChanged(Editable s) { if (this.viewHolder.password.length() > 0 && this.viewHolder.password.getText().toString().equals( this.viewHolder.confirmation.getText().toString())) { this.viewHolder.accept.setEnabled(true); } else { this.viewHolder.accept.setEnabled(false); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void onTextChanged(CharSequence s, int start, int before, int count) {} private class PasswordConfirmationView { public EditText password; public EditText confirmation; public Button accept; public TextView title; public PasswordConfirmationView(Activity activity, int titleId) { setOwnerActivity(activity); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.password_confirmation); this.title = (TextView) findViewById(R.id.title); this.title.setText(titleId); this.password = (EditText) findViewById(R.id.password); this.confirmation = (EditText) findViewById(R.id.confirmation); this.accept = (Button) findViewById(R.id.button_accept); this.password.addTextChangedListener(PasswordConfirmationDialog.this); this.confirmation.addTextChangedListener(PasswordConfirmationDialog.this); } } }