これは私のアンドロイドコードです。ここに「名前」、「携帯電話番号」、「メールアドレス」、「パスワード」、「パスワードを確認」というサインアップページがあります。 editTextのsetErrorメソッドは空白ですが、 "サインアップ"ボタンをクリックするとアンドロイドがエラーメッセージを表示しますが、ユーザーを待つことはありません。サインアップボタンのOnClickアクションは直接行います。「.setError」に遭遇した場合にアクションを停止する
私が必要とするのは、ユーザーが「サインアップ」を押すと空白があるかどうかをチェックする必要があります。空白がある場合は、OnClickアクションを続行しないでください。ここで
は私のアンドロイドコードです:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
final EditText etName = (EditText) findViewById(R.id.etName);
final EditText etEmail = (EditText) findViewById(R.id.etEmail);
final EditText etMobileNo = (EditText) findViewById(R.id.etMobileNo);
final EditText etPassword = (EditText) findViewById(R.id.etPassword);
final EditText etConfirmPassword = (EditText) findViewById(R.id.etConfirmPassword);
final Button bSignUp = (Button) findViewById(R.id.bSignUp);
bSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name = etName.getText().toString;
email = etEmail.getText().toString();
mobile = etMobileNo.getText().toString();
password = etPassword.getText().toString();
confirmpassword = etConfirmPassword.getText().toString();
CheckMissing(); //Check for Missing entries and Password Matches.
Response.Listener<String> responseListener = new Response.Listener<String>() {
private ProgressDialog loading;
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
loading = ProgressDialog.show(SignupActivity.this, "Thank You...", "Registering Now...", false, false);
if (success) {
loading.dismiss();
Intent intent = new Intent(SignupActivity.this, LoginActivity.class);
SignupActivity.this.startActivity(intent);
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(SignupActivity.this);
builder.setMessage("Register Failed")
.setNegativeButton("Retry", null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
SignupRequest signupRequest = new SignupRequest(name, email, mobile, password, responseListener);
RequestQueue queue = Volley.newRequestQueue(SignupActivity.this);
queue.add(signupRequest);
}
});
}
public void CheckMissing() {
EditText name = (EditText) findViewById(R.id.etName);
if (name.getText().toString().isEmpty()) {
name.setError("You need to enter name");
}
EditText email = (EditText) findViewById(R.id.etEmail);
if (email.getText().toString().isEmpty()) {
email.setError("You need to enter Email");
}
EditText mobile = (EditText) findViewById(R.id.etMobileNo);
if (mobile.getText().toString().isEmpty()) {
mobile.setError("You need to enter mobile");
}
EditText password = (EditText) findViewById(R.id.etPassword);
String Pass = password.getText().toString();
if (password.getText().toString().isEmpty()) {
password.setError("You need to enter password");
}
EditText confirmpassword = (EditText) findViewById(R.id.etConfirmPassword);
String Conpass = confirmpassword.getText().toString();
if (confirmpassword.getText().toString().isEmpty()) {
confirmpassword.setError("You need to enter confirmpassword");
}
if (!Pass.equals(Conpass)) {
confirmpassword.setError("Password Doesnt Match");
}
}
}
基本的には、これ。 – Vucko