我不知道if
语句中的问题是什么。即使我输入了正确的用户名和密码,它每次都会在CAT中显示抱歉。我不得不删除整个程序并开始编写小的演示代码。请问,任何人都可以查看if
声明中的错误吗?
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.submitButton:
if (!(edtvUsername.equals(" ") && (edtvPassword.equals(" ")))) {
/* Toast toast = Toast.makeText(LoginActivity.this, "Hi, Forgot username/password", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL,0,0 );
toast.show();
relativeLayout.setBackgroundColor(getResources().getColor(R.color.red));*/
Log.i("TAG","Sorry");
}
else if(edtvUsername.getText().equals("aa") && edtvPassword.getText().equals("aa")) {
/* toast = Toast.makeText(LoginActivity.this, "Successfully entered username/password", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL,0,0 );
toast.show();
relativeLayout.setBackgroundColor(getResources().getColor(R.color.green));*/
Log.i("TAG","OK");
}
else{ Log.i("TAG","...................");}
break;
case R.id.clearButton:
Toast toast = Toast.makeText(LoginActivity.this, "Forgot username/password", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL,0,0 );
toast.show();
relativeLayout.setBackgroundColor(getResources().getColor(R.color.queenBlue));
}
}
private void toastDef() {
}
答案 0 :(得分:1)
更改此
if (!(edtvUsername.getText().equals(" ") && (edtvPassword.getText().equals(" "))))
到
if(edtvUsername.getText().equals(" ") || edtvPassword.getText().equals(" ")){
Log.i("TAG","Sorry");
}
else{
...
}
同样在你的if条件中,条件返回true,false& false = false和!false表示你应该使用
public class MyWindow : Window
{
public const string WindowTitle = "This seems like overkill!";
public MyWindow() : base()
{
this.Title = WindowTitle;
}
}
答案 1 :(得分:0)
下面:
if (!(edtvUsername.equals(" ")
您正在将对象 EditText与字符串进行比较 它将从不相等。
下面:
else if(edtvUsername.getText().equals("aa")
您正确地将文本与字符串进行比较。
答案 2 :(得分:0)
当edtvUsername
和edtvPassword
中有值时,由于您正在检查if (!)
,这将被执行..逻辑错误
删除not condition
if((edtvUsername.equals("")&&(edtvPassword.equals(""))))
答案 3 :(得分:0)
当任何一个字段为空时,你希望它说“SORRY”,而不是使用&&你可以使用||没有否定。
试试这个
if (edtvUsername.getText().toString().isEmpty() || edtvPassword.getText().toString().isEmpty()) {