.equals() 似乎不起作用

.equals() seems not to work

我是 Android Studio 的新手,我一直在创建一个登录表单来打开系统设置。

我制作了表格,并在按下按钮后让表格弹出。但是,出于某种原因,表单总是接受输入的详细信息,并且总是弹出 "Login Successful"..

这几天我一直在网上找我哪里出错了,但我就是找不到代码哪里出错了?

我已经有了打开设置页面的代码,但我删除了它只是为了现在向您展示我的所有代码。 (我已经测试了开放系统设置部分,它可以正常工作)。

这是我的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ImageButton mShowDialog = (ImageButton) findViewById(R.id.btnShowDialog);
    mShowDialog.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view){
            AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
            View mView = getLayoutInflater().inflate(R.layout.dialog_login, null);
            final EditText mUsername = (EditText) mView.findViewById(R.id.etUsername);
            final EditText mPassword = (EditText) mView.findViewById(R.id.etPassword);
            Button mLogin = (Button) mView.findViewById(R.id.btnLogin);

            mLogin.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View view_) {
                    if(!mUsername.getText().toString().equals("admin") && !mPassword.getText().toString().equals("admin")){
                        Toast.makeText(MainActivity.this,
                                getString(R.string.success_login_msg),
                                Toast.LENGTH_SHORT).show();
                    }else{
                        Toast.makeText(MainActivity.this,
                                getString(R.string.error_login_msg),
                                Toast.LENGTH_SHORT).show();
                    }
                }
            });

我猜我哪里出了问题,但如果有人能告诉我为什么会这样,那就太好了。

谢谢。

我希望这对你有用。

使用

if(mUsername.getText().toString().equals("admin") && mPassword.getText().toString().equals("admin")){

取代了

if(!mUsername.getText().toString().equals("admin") && !mPassword.getText().toString().equals("admin")){

从 if 条件删除!