Android重置密码的页面,先输入账号,再填入密码和确认密码的实现的具体代码
时间: 2024-03-25 20:37:12 浏览: 15
以下是一个简单的 Android 重置密码页面的实现代码,其中包括了输入账号、密码和确认密码,并进行了基本的输入检查,确保密码符合要求并且两次输入的密码一致:
```
public class ResetPasswordActivity extends AppCompatActivity {
private EditText mUsernameEditText;
private EditText mPasswordEditText;
private EditText mConfirmPasswordEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reset_password);
mUsernameEditText = findViewById(R.id.username_edit_text);
mPasswordEditText = findViewById(R.id.password_edit_text);
mConfirmPasswordEditText = findViewById(R.id.confirm_password_edit_text);
Button resetButton = findViewById(R.id.reset_button);
resetButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 获取输入的账号、密码和确认密码
String username = mUsernameEditText.getText().toString();
String password = mPasswordEditText.getText().toString();
String confirmPassword = mConfirmPasswordEditText.getText().toString();
// 检查账号是否为空
if (TextUtils.isEmpty(username)) {
mUsernameEditText.setError("账号不能为空");
return;
}
// 检查密码是否符合要求
if (!isValidPassword(password)) {
mPasswordEditText.setError("密码必须包含数字、字母和特殊字符,并且长度不少于8位");
return;
}
// 检查两次输入的密码是否一致
if (!password.equals(confirmPassword)) {
mConfirmPasswordEditText.setError("两次输入的密码不一致");
return;
}
// TODO: 进行密码重置操作
Toast.makeText(ResetPasswordActivity.this, "密码重置成功", Toast.LENGTH_SHORT).show();
}
});
}
// 检查密码是否符合要求的方法
private boolean isValidPassword(String password) {
String pattern = "^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\\S+$).{8,}$";
return password.matches(pattern);
}
}
```
在布局文件中,需要添加三个 EditText 和一个 Button:
```
<EditText
android:id="@+id/username_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入账号" />
<EditText
android:id="@+id/password_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="请输入密码" />
<EditText
android:id="@+id/confirm_password_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="请确认密码" />
<Button
android:id="@+id/reset_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="确定重置密码" />
```