为 EditText 定义一个值
Define a value to EditText
我正在尝试使用 EditText 创建一个 Activity,该 EditText 只能接受我在高级编程中定义的值 - 类似于密码、单词或代码编号 - 这样如果用户没有输入正确的密码.
,他将无法访问下一个Activity
有没有人知道如何制作这样的东西?我必须使用 TextWatcher 吗?如果是,如何?
谢谢!
使用这个。
If (edittext.getText().toString()==myPreProgrammedString){
start next activity
}
else{
show warning wrong password
}
通常你会把这样的东西放在登录按钮的 onClick 方法中。但是我在 textwatchers afterTextChanged 方法中使用了类似的方法来检查输入的文本是否在列表中,然后启用“确定”按钮。
顺便说一句:在应用程序中硬编码密码从来都不是好习惯。
使用正则表达式(regex) 来定义您的密码格式。正则表达式密码示例:
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$
^ # start-of-string
(?=.*[0-9]) # a digit must occur at least once
(?=.*[a-z]) # a lower case letter must occur at least once
(?=.*[A-Z]) # an upper case letter must occur at least once
(?=.*[@#$%^&+=]) # a special character must occur at least once
(?=\S+$) # no whitespace allowed in the entire string
.{8,} # anything, at least eight places though
$
# end-of-string
将 TextWatch 添加到您的 EditText 以在您输入时观察您的文本变化
yourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
Pattern PASSWORD_PATTERN = Pattern.compile("Your pattern");
if (PASSWORD_PATTERN.matcher(s.toString()).matches()) {
//Password is valid, move to new activity
}
}
});
使用正则表达式很简单兄弟!
我正在尝试使用 EditText 创建一个 Activity,该 EditText 只能接受我在高级编程中定义的值 - 类似于密码、单词或代码编号 - 这样如果用户没有输入正确的密码.
,他将无法访问下一个Activity有没有人知道如何制作这样的东西?我必须使用 TextWatcher 吗?如果是,如何?
谢谢!
使用这个。
If (edittext.getText().toString()==myPreProgrammedString){
start next activity
}
else{
show warning wrong password
}
通常你会把这样的东西放在登录按钮的 onClick 方法中。但是我在 textwatchers afterTextChanged 方法中使用了类似的方法来检查输入的文本是否在列表中,然后启用“确定”按钮。
顺便说一句:在应用程序中硬编码密码从来都不是好习惯。
使用正则表达式(regex) 来定义您的密码格式。正则表达式密码示例:
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$
^ # start-of-string
(?=.*[0-9]) # a digit must occur at least once
(?=.*[a-z]) # a lower case letter must occur at least once
(?=.*[A-Z]) # an upper case letter must occur at least once
(?=.*[@#$%^&+=]) # a special character must occur at least once
(?=\S+$) # no whitespace allowed in the entire string
.{8,} # anything, at least eight places though
$
# end-of-string
将 TextWatch 添加到您的 EditText 以在您输入时观察您的文本变化
yourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
Pattern PASSWORD_PATTERN = Pattern.compile("Your pattern");
if (PASSWORD_PATTERN.matcher(s.toString()).matches()) {
//Password is valid, move to new activity
}
}
});
使用正则表达式很简单兄弟!