成功登录toast消息后调用dialog.dismiss将隐藏对话框

时间:2017-07-27 23:43:47

标签: java android android-alertdialog

有人可以告诉我如何解除对话,因为我正在尝试使用widthdialog.dismiss()但我收到一个错误,它无法解析符号,也访问和使用电子邮件和密码的输入,这将真的有帮助

alertdialog.dismiss

1 个答案:

答案 0 :(得分:1)

在使用变量之前,您需要实际声明变量。对于代码,在onCreate()内部按顺序执行,因此在使用之前必须声明dialog变量。

将您的代码更改为以下内容:

        ...
        final EditText XEmail = (EditText) mView.findViewById(R.id.etEmail);
        final EditText Xpassword = (EditText) mView.findViewById(R.id.etPassword);
        Button XLogbtn = (Button) mView.findViewById(R.id.Logbtn);
        Button XNtnbtn = (Button) mView.findViewById(R.id.ntnbtn);

        // Changes here
        mBuilder.setView(mView);
        final AlertDialog dialog = mBuilder.create();


        XLogbtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(!XEmail.getText().toString().isEmpty() && !Xpassword.getText().toString().isEmpty())
                {
                    Toast.makeText(Console_Activity.this, R.string.successful_login, Toast.LENGTH_SHORT).show();
                    xShowDialog.setImageResource(R.drawable.xboxbuttongreen);


         dialog.dismiss();


                }
                else
                {
                    Toast.makeText(Console_Activity.this, R.string.error_login_message, Toast.LENGTH_SHORT).show();
                }
            }
        });




        XNtnbtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                 //changes here
                dialog.dismiss();
            }
        });

        //changes here
        dialog.show();

    }