当我在没有输入的情况下单击登录按钮时,它会启动另一个 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();
 }