Android 如何停止加载我的';ProgressDialog&x27;在登录测试之后?

Android 如何停止加载我的';ProgressDialog&x27;在登录测试之后?,android,Android,我创建了一个登录屏幕(葡萄牙语)并在加载时使用了“ProgressDialog”,但它永远不会结束。它怎么能停止 btnSignIn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { final ProgressDialog mDialog = new ProgressDialog(SignIn.thi

我创建了一个登录屏幕(葡萄牙语)并在加载时使用了“ProgressDialog”,但它永远不会结束。它怎么能停止

    btnSignIn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final ProgressDialog mDialog = new ProgressDialog(SignIn.this);
            mDialog.setMessage("Carregando...");
            mDialog.show();

            table_user.addValueEventListener(new ValueEventListener() {

                @Override
                public void onDataChange(DataSnapshot dataSnapshot){
                    if (dataSnapshot.child(edtPhone.getText().toString()).exists()){
                        mDialog.dismiss();
                        User user = dataSnapshot.child(edtPhone.getText().toString()).getValue(User.class);
                        if (user.getPassword().equals(edtPassword.getText().toString())){
                            Toast.makeText(SignIn.this, "Login Feito com Sucesso!", Toast.LENGTH_SHORT).show();
                        }else{
                            Toast.makeText(SignIn.this, "Senha Incorreta!", Toast.LENGTH_SHORT).show();
                        }
                    }
                    else{
                        mDialog.dismiss();
                        Toast.makeText(SignIn.this, "Usuário Não Existe", Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {

                }
            });
        }
    });
我等了很长时间,但一直没有结束

btnSignIn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final ProgressDialog mDialog = new ProgressDialog(SignIn.this);
            mDialog.setMessage("Carregando...");
            mDialog.show();

            table_user.addValueEventListener(new ValueEventListener() {

                @Override
                public void onDataChange(DataSnapshot dataSnapshot){
                    if (dataSnapshot.child(edtPhone.getText().toString()).exists()){
                        mDialog.dismiss();
                        User user = dataSnapshot.child(edtPhone.getText().toString()).getValue(User.class);
                        if (user.getPassword().equals(edtPassword.getText().toString())){
                            Toast.makeText(SignIn.this, "Login Feito com Sucesso!", Toast.LENGTH_SHORT).show();
                        }else{
                            Toast.makeText(SignIn.this, "Senha Incorreta!", Toast.LENGTH_SHORT).show();
                        }
                    }
                    else{
                        mDialog.dismiss();
                        Toast.makeText(SignIn.this, "Usuário Não Existe", Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {
                        mDialog.dismiss();
                }
            });
        }
    });

mDialog.disease()
放在OnCancelled块中可能是因为您没有获得成功响应。

您的意思是
ProgressDialog
登录成功时不关闭吗?您是否调试并检查了您的方法是否成功。