这个是完成注册,需要输两遍密码判断是否一致,我尝试了一下,长短之类的都能检测出来,只有两次输入不一致它当作一致了,请朋友指点,谢谢啦
```java
public class RegisterActivity extends AppCompatActivity {
private EditText nameET,pwdET,repwdET;
private Button regBt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
nameET = (EditText)findViewById(R.id.reg_name);
pwdET = (EditText)findViewById(R.id.reg_pwd);
repwdET = (EditText)findViewById(R.id.rereg_pwd);
regBt =(Button)findViewById(R.id.reg_bt);
regBt.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
Intent intent3=new Intent(); //该“意图”仅仅只传递数据
String usename = nameET.getText().toString();
String pwd = pwdET.getText().toString();
intent3.putExtra("regName",nameET.getText().toString());
intent3.putExtra("regPwd",pwdET.getText().toString());
intent3.putExtra("reregPwd",repwdET.getText().toString());
if(repwdET.length() == 0 || pwdET.length() == 0 || pwdET.equals("") != repwdET.equals("") || repwdET.length() != pwdET.length()){
new AlertDialog.Builder(RegisterActivity.this).setTitle("两次密码不一致")
.setMessage("请输入两次一样的密码")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//finish();
}
}).show();
pwdET.setText("");
repwdET.setText("");
pwdET.requestFocus();
}
else {
String amsg = "欢迎注册 DIY!! \n 您输入的用户名是:"+ usename + "\n 密码是: "+ pwd;
Toast.makeText(RegisterActivity.this, amsg, Toast.LENGTH_LONG).show();
setResult(RESULT_OK, intent3); //3.设置返回结果 intent3,并且其中包含传递的参数
finish();//关闭当前页面
}
}
});
}
}
pwdET.equals("") != repwdET.equals("")
这个你是想做什么
应该分别获取两个EditText的内容String做比较,是否equals,判断是否满足多少长度,不满足条件的都提示弹框么?pwdET.equals(""),EditText对象与String对象做比较意义何在?
改一下吧,写的判断不对
```kotlin
//不允许为空
if(TextUtils.isEmpty(pwdET))
return
if(TextUtils.isEmpty(repwdET))
return
//两次密码不一致
if(!pwdET.equals(repwdET))
return
```