Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果出现“错误”,请停止操作;。“设置错误”;遭遇_Java_Android - Fatal编程技术网

Java 如果出现“错误”,请停止操作;。“设置错误”;遭遇

Java 如果出现“错误”,请停止操作;。“设置错误”;遭遇,java,android,Java,Android,这是我的android代码,这是一个注册页面,上面有“姓名”、“手机号码”、“电子邮件”、“密码”、“确认密码”,我为任何editText添加了setError方法,但结果是当我点击“注册”按钮时,android会显示错误消息,但它从不等待用户,它直接对注册按钮执行OnClick操作 我需要的是,当用户点击“注册”时,它应该检查空白区,如果有空格,OnClick操作不应该继续。< /P> 以下是我的android代码: @Override protected void onCreate(

这是我的android代码,这是一个注册页面,上面有“姓名”、“手机号码”、“电子邮件”、“密码”、“确认密码”,我为任何editText添加了setError方法,但结果是当我点击“注册”按钮时,android会显示错误消息,但它从不等待用户,它直接对注册按钮执行OnClick操作

我需要的是,当用户点击“注册”时,它应该检查空白区,如果有空格,OnClick操作不应该继续。< /P> 以下是我的android代码:

    @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");
    }
}
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u注册);
最终EditText etName=(EditText)findViewById(R.id.etName);
最终的EditText-etEmail=(EditText)findViewById(R.id.etEmail);
最终编辑文本etMobileNo=(编辑文本)findViewById(R.id.etMobileNo);
最终EditText etPassword=(EditText)findViewById(R.id.etPassword);
最终EditText etConfirmPassword=(EditText)findViewById(R.id.etConfirmPassword);
最终按钮bSignUp=(按钮)findViewById(R.id.bSignUp);
bSignUp.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
name=etName.getText().toString;
email=etEmail.getText().toString();
mobile=etMobileNo.getText().toString();
password=etPassword.getText().toString();
confirmpassword=etConfirmPassword.getText().toString();
CheckMissing();//检查缺少的条目和密码匹配。
Response.Listener responseListener=新的Response.Listener(){
私有对话框加载;
@凌驾
公共void onResponse(字符串响应){
试一试{
JSONObject jsonResponse=新的JSONObject(响应);
boolean success=jsonResponse.getBoolean(“success”);
loading=ProgressDialog.show(SignupActivity.this,“谢谢…”,“立即注册…”,false,false);
如果(成功){
loading.dispose();
意向意向=新意向(SignupActivity.this、LoginActivity.class);
注册活动。此。startActivity(意图);
}否则{
AlertDialog.Builder=新建AlertDialog.Builder(SignupActivity.this);
builder.setMessage(“注册失败”)
.setNegativeButton(“重试”,null)
.create()
.show();
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
};
SignupRequest SignupRequest=新的SignupRequest(姓名、电子邮件、手机、密码、应答者);
RequestQueue=Volley.newRequestQueue(SignupActivity.this);
添加(signupRequest);
}
});
}
public void CheckMissing(){
EditText名称=(EditText)findViewById(R.id.etName);
if(name.getText().toString().isEmpty()){
name.setError(“您需要输入名称”);
}
EditText电子邮件=(EditText)findViewById(R.id.etEmail);
if(email.getText().toString().isEmpty()){
setError(“您需要输入电子邮件”);
}
EditText mobile=(EditText)findViewById(R.id.etMobileNo);
if(mobile.getText().toString().isEmpty()){
setError(“您需要输入mobile”);
}
EditText密码=(EditText)findViewById(R.id.etPassword);
字符串Pass=password.getText().toString();
if(password.getText().toString().isEmpty()){
password.setError(“您需要输入密码”);
}
EditText confirmpassword=(EditText)findViewById(R.id.etConfirmPassword);
字符串Conpass=confirmpassword.getText().toString();
if(confirmpassword.getText().toString().isEmpty()){
setError(“您需要输入confirmpassword”);
}
如果(!Pass.equals(Conpass)){
confirmpassword.setError(“密码不匹配”);
}
}
}
转换
CheckMissing()
以返回布尔值,例如:

public boolean isMissingFields(){...}
然后,在
onClick
方法中,您可以将
CheckMissing()
更改为:

if(isMissingFields()) return;
转换
CheckMissing()
以返回布尔值,例如:

public boolean isMissingFields(){...}
然后,在
onClick
方法中,您可以将
CheckMissing()
更改为:

if(isMissingFields()) return;

CheckMissing()
中添加布尔返回类型:

然后在“注册”按钮的OnClickListener中:

if (!CheckMissing())
    return;

CheckMissing()
中添加布尔返回类型:

然后在“注册”按钮的OnClickListener中:

if (!CheckMissing())
    return;