Android 没有输入用户名和密码,我的应用程序正在登录
当我输入用户名和密码(如果两者相等)时,我创建了一个登录页面,它用于登录,但用户名和密码留空,当我单击emulator上的登录按钮时,它显示登录成功 当用户名和密码无效时,它不应该登录Android 没有输入用户名和密码,我的应用程序正在登录,android,Android,当我输入用户名和密码(如果两者相等)时,我创建了一个登录页面,它用于登录,但用户名和密码留空,当我单击emulator上的登录按钮时,它显示登录成功 当用户名和密码无效时,它不应该登录 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtUserName=(EditText)this.findViewById(R.id.txtUname);
txtPassword=(EditText)this.findViewById(R.id.txtPwd);
btnLogin=(Button)this.findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if((txtUserName.getText().toString()).equals(txtPassword.getText().toString())){
Intent myIntent = new Intent(v.getContext(), SaveData.class);
startActivityForResult(myIntent, 1);
Toast.makeText(LoginappActivity.this, "Login Successful",Toast.LENGTH_LONG).show();
} else{
Toast.makeText(LoginappActivity.this, "Invalid Login",Toast.LENGTH_LONG).show();
}
}
});
}
}
这是因为空白用户名和密码也是相等的。您需要检查用户是否未输入任何值,然后提示输入。更合适的方法是使用
TextUtils.isEmpty
来完成此工作
public void onClick(View v) {
String username = txtUserName.getText().toString();
String password = txtPassword.getText().toString();
if(!TextUtils.isEmpty(username) && username.equals(password)){
//do your stuff
}
}
这是因为空白用户名和密码也是相等的。您需要检查用户是否未输入任何值,然后提示输入。更合适的方法是使用
TextUtils.isEmpty
来完成此工作
public void onClick(View v) {
String username = txtUserName.getText().toString();
String password = txtPassword.getText().toString();
if(!TextUtils.isEmpty(username) && username.equals(password)){
//do your stuff
}
}
您只需检查两者是否相等,并且都为空,所以如果条件为真 所以你应该检查这两个字段是否为空 像…
String strName = txtUserName.getText().toString();
String strPass = txtPwd.getText().toString();
if(strName!=null&&strName.trim().length!=0&&strPass!=null && strPass.trim().length!=0){
Intent myIntent = new Intent(v.getContext(), SaveData.class);
startActivityForResult(myIntent, 1);
Toast.makeText(LoginappActivity.this, "Login Successful",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(LoginappActivity.this, "input your name and password",Toast.LENGTH_LONG).show();
}
您只需检查两者是否相等,并且都为空,所以如果条件为真 所以你应该检查这两个字段是否为空 像…
String strName = txtUserName.getText().toString();
String strPass = txtPwd.getText().toString();
if(strName!=null&&strName.trim().length!=0&&strPass!=null && strPass.trim().length!=0){
Intent myIntent = new Intent(v.getContext(), SaveData.class);
startActivityForResult(myIntent, 1);
Toast.makeText(LoginappActivity.this, "Login Successful",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(LoginappActivity.this, "input your name and password",Toast.LENGTH_LONG).show();
}
只需在
if
中添加条件txtUserName.getText().toString().length()>0
和运算符
if((txtUserName.getText().toString().length() > 0) && (txtUserName.getText().toString()).equals(txtPassword.getText().toString())){
Intent myIntent = new Intent(v.getContext(), SaveData.class);
startActivityForResult(myIntent, 1);
Toast.makeText(LoginappActivity.this, "Login Successful",Toast.LENGTH_LONG).show();
} else{
Toast.makeText(LoginappActivity.this, "Invalid Login",Toast.LENGTH_LONG).show();
}
}
只需在
if
中添加条件txtUserName.getText().toString().length()>0
和运算符
if((txtUserName.getText().toString().length() > 0) && (txtUserName.getText().toString()).equals(txtPassword.getText().toString())){
Intent myIntent = new Intent(v.getContext(), SaveData.class);
startActivityForResult(myIntent, 1);
Toast.makeText(LoginappActivity.this, "Login Successful",Toast.LENGTH_LONG).show();
} else{
Toast.makeText(LoginappActivity.this, "Invalid Login",Toast.LENGTH_LONG).show();
}
}
这是因为
“
等于”
(空字符串)
您可能需要添加此选项
[...]
if(txtUserName.getText().toString().length() > 0 && (txtUserName.getText().toString()).equals(txtPassword.getText().toString()))
[...]
这是因为
“
等于”
(空字符串)
您可能需要添加此选项
[...]
if(txtUserName.getText().toString().length() > 0 && (txtUserName.getText().toString()).equals(txtPassword.getText().toString()))
[...]
首先尝试验证任何一个字段是否为空 您验证的代码是
btnLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(txtUserName.getText().toString()).equals("")){
//Show Message
}else if(txtPassword.getText().toString().equals("")){
//Show Message
}else if(!(txtUserName.getText().toString()).equals(txtPassword.getText().toString())){
Toast.makeText(LoginappActivity.this, "Invalid Login",Toast.LENGTH_LONG).show();
}else{
Intent myIntent = new Intent(v.getContext(), SaveData.class);
startActivityForResult(myIntent, 1);
Toast.makeText(LoginappActivity.this, "Login Successful",Toast.LENGTH_LONG).show();
}
}
});
首先尝试验证任何一个字段是否为空 您验证的代码是
btnLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(txtUserName.getText().toString()).equals("")){
//Show Message
}else if(txtPassword.getText().toString().equals("")){
//Show Message
}else if(!(txtUserName.getText().toString()).equals(txtPassword.getText().toString())){
Toast.makeText(LoginappActivity.this, "Invalid Login",Toast.LENGTH_LONG).show();
}else{
Intent myIntent = new Intent(v.getContext(), SaveData.class);
startActivityForResult(myIntent, 1);
Toast.makeText(LoginappActivity.this, "Login Successful",Toast.LENGTH_LONG).show();
}
}
});
嗯,你不需要检查两者是否都是空的。。因为你在比较它们在..之后是否相等,你不需要检查它们是否都为空。。因为你是在比较他们在…之后是否相等。。