当我在没有输入的情况下单击登录按钮时,它会启动另一个 activity?
when i am clicking on login button without input it starts another activity?
我正在使用共享首选项和 if else 条件,但是当我在不触摸文本框的情况下单击登录按钮时,它会启动另一个 activity 并且在文本框中输入后它工作正常,为什么?
login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences sharedPref = getSharedPreferences("userinfo",Context.MODE_PRIVATE);
final String name =sharedPref.getString("username","");
if(userLogInText.getText().toString().trim().equalsIgnoreCase(name)){
Intent intent = new Intent(getApplicationContext(),MyActivity.class);
startActivity(intent);
}
else {
Toast.makeText(getApplicationContext(),"Registration ID is not Matching",Toast.LENGTH_LONG).show();
}
}
});
您的默认 SharedPreferences
值为空,您的 EditText
值也为空,这就是您的 if 条件为真的原因。
检查您的 EditText 值是否为空。
试试下面的代码。
if(userLogInText.getText().toString().trim().length()>0 && userLogInText.getText().toString().trim().equalsIgnoreCase(name)){
Intent intent = new Intent(getApplicationContext(),MyActivity.class);
startActivity(intent);
}
else {
Toast.makeText(getApplicationContext(),"Registration ID is not Matching",Toast.LENGTH_LONG).show();
}
我正在使用共享首选项和 if else 条件,但是当我在不触摸文本框的情况下单击登录按钮时,它会启动另一个 activity 并且在文本框中输入后它工作正常,为什么?
login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences sharedPref = getSharedPreferences("userinfo",Context.MODE_PRIVATE);
final String name =sharedPref.getString("username","");
if(userLogInText.getText().toString().trim().equalsIgnoreCase(name)){
Intent intent = new Intent(getApplicationContext(),MyActivity.class);
startActivity(intent);
}
else {
Toast.makeText(getApplicationContext(),"Registration ID is not Matching",Toast.LENGTH_LONG).show();
}
}
});
您的默认 SharedPreferences
值为空,您的 EditText
值也为空,这就是您的 if 条件为真的原因。
检查您的 EditText 值是否为空。
试试下面的代码。
if(userLogInText.getText().toString().trim().length()>0 && userLogInText.getText().toString().trim().equalsIgnoreCase(name)){
Intent intent = new Intent(getApplicationContext(),MyActivity.class);
startActivity(intent);
}
else {
Toast.makeText(getApplicationContext(),"Registration ID is not Matching",Toast.LENGTH_LONG).show();
}