java - 比较 EditTexts 表示它们不相等
问题描述
我从布局中获取文本:
<EditText
android:id="@+id/editPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:ems="10"
android:hint="Contraseña"
android:inputType="textPassword"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editNombre" />
<EditText
android:id="@+id/ConfirmPassword"
android:layout_width="wrap_content"
... Same with diferent id
在活动 y 中检查以在 editText 上使用相同的密码,我放了一个 Toast 来向我显示变量 vPassword 和 vCPassword 并且 Toast 显示了这个:
活动代码
vDatabase = FirebaseDatabase.getInstance().getReference();
vNombre = (EditText) findViewById(R.id.editNombre);
vPassword = (EditText) findViewById(R.id.editPassword);
vCorreo = (EditText) findViewById(R.id.editCorreo);
vCPassword = (EditText) findViewById(R.id.ConfirmPassword);
vRegistrarse = (Button) findViewById(R.id.Registrarme);
vRegistrarse.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nombre = vNombre.getText().toString();
password = vPassword.getText().toString();
correo = vCorreo.getText().toString();
cpassword = vCPassword.getText().toString();
if(!nombre.isEmpty() && !password.isEmpty() && !correo.isEmpty() && vPassword.equals(vCPassword)){
if(password.length() >= 6) {
registerUser();
}
else {
Toast.makeText(MainActivity.this, "La contraseña debe tener al menos 6 dígitos y ser igual", Toast.LENGTH_SHORT).show();
}
}
else{
Toast.makeText(MainActivity.this, "Alguno de los campos esta vacio"+vPassword+vCPassword, Toast.LENGTH_SHORT).show();
}
}
});
解决方案
您正在尝试比较 edittext 而不是它的值。所以改变你的 if 条件
改变这个:
vPassword.equals(vCPassword)
进入这个:
password.equals(cpassword)
推荐阅读
- dockerfile - Dockerfile 永远安装失败
- java - 执行基本授权的安全方式
- homebrew - 自制公式中的 x11 依赖项?
- ios - Stripe 确认卡的详细信息以方便快捷
- angularjs - 如何处理 Angular 1.5 组件中的 img onerror 事件
- c++ - Qt - QUdpSocket 绑定不断失败
- json - 如何使用节点 js 将 csv 文件转换为 json 文件?
- python - “utf-8”编解码器无法解码位置 11 中的字节 0x95:无效的起始字节
- python - 将一维数组 a[k] 和 d[j] 乘以矩阵 m[j,k]
- spring - RestTemplate 是否有类似于 DefaultResponseErrorHandler 的功能?