私はSaripaar Library 2.0をアクティビティ内で正常に使用しました。ダイアログ内のEditTextを検証する方法。Android Saripaar validation insideダイアログ
ユーザー名、パスワード(編集テキスト)、ログイン、パスワードを忘れた(ボタン)のログイン画面があります。私がForgotPasswordをクリックすると。私が検証することができますどのようにダイアログボックスが表示され、それが電子メールをお願いします(のEditText)
public class LoginActivity extends AppCompatActivity implements Validator.ValidationListener, View.OnClickListener {
@NotEmpty
EditText username;
@NotEmpty
EditText password;
private Button login;
private Button forgotPassword;
private Validator mValidator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(android.R.style.Theme_DeviceDefault_Light_NoActionBar_Fullscreen);
setContentView(R.layout.activity_login);
init();
mValidator = new Validator(this);
mValidator.setValidationListener(this);
forgotPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog dialog = new Dialog(LoginActivity.this);
dialog.setContentView(R.layout.activity_forgotpassword);
dialog.getWindow().setBackgroundDrawableResource(R.color.blue);
dialog.getWindow().setTitleColor(getResources().getColor(R.color.white));
dialog.setTitle("Forgot Password?");
EditText forgotpasswordrequest = (EditText) dialog.findViewById(R.id.forgotpasswordrequest);
Button request = (Button) dialog.findViewById(R.id.request);
request.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
dialog.show();
}
});
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mValidator.validate();
}
});
@Override
public void onValidationSucceeded() {
startActivity(new Intent(LoginActivity.this, MenuActivity.class));
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
@Override
public void onValidationFailed(List<ValidationError> errors) {
for (ValidationError error : errors) {
View view = error.getView();
String message = error.getCollatedErrorMessage(this);
if (view instanceof EditText) {
((EditText) view).setError(message);
} else {
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}
}
}
のEditText私は
@NotEmpty
EditText forgotpasswordrequest;
ログイン・アクティビティーでのEditText forgotpasswordrequest初期化する場合は
forgotpasswordrequest実行時エラー:java.lang.IllegalStateException: 'EditText forgotpasswordrequest'がnullです。
私はダイアログ内forgotpasswordrequestのEditTextを初期化する場合は、エラーが個別にダイアログ内のEditTextを検証する方法、
ローカル変数には適用されません@NotEmpty
のですか?
私はAndroidのSaripaarライブラリを使用しています – Venky