Android 登录进度对话框提示错误

Android 登录进度对话框提示错误,android,Android,我想在登录用户时显示一个进度对话框。。。 我已经遵循了不同的解决方案,但仍然向我展示了dis 错误 WindowManager:android.view.WindowLeaked:Activity com.example.mariamhp.inicrepot.login泄漏了最初添加到此处的window com.android.internal.policy.impl.PhoneWindow$DecorView{1ebb896b V.E…..R….D 0,0-729322} bLogi

我想在登录用户时显示一个进度对话框。。。 我已经遵循了不同的解决方案,但仍然向我展示了dis 错误

WindowManager:android.view.WindowLeaked:Activity com.example.mariamhp.inicrepot.login泄漏了最初添加到此处的window com.android.internal.policy.impl.PhoneWindow$DecorView{1ebb896b V.E…..R….D 0,0-729322}

     bLogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final String username = etUsername.getText().toString();
            final String password = etPassword.getText().toString();


            if(username.length()==0){
                etUsername.requestFocus();
                etUsername.setError("FIELD CANNOT BE EMPTY");
            }
            else if(!username.matches("[0-1a-zA-Z]+"))
            {
                etUsername.requestFocus();
                etUsername.setError("ENTER ONLY ALPHANUMIRIC CHARACTER");
            }
            else if(password.length()==0)
            {
                etPassword.requestFocus();
                etPassword.setError("FIELD CANNOT BE EMPTY");
            }else {
                final ProgressDialog progresRing = ProgressDialog.show(login.this, "Login in", "Please Wait...", true);
                progresRing.setCancelable(true);
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            Thread.sleep(100);
                        } catch (InterruptedException ignored) {
                            progresRing.dismiss();
                        }
                    }
                }).start();
            }

                // Response received from the server
                Response.Listener<String> responseListener = new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {

                        try {
                            JSONObject jsonResponse = new JSONObject(response);
                            boolean success = jsonResponse.getBoolean("success");
                            if (success) {
                                Intent intent = new Intent(login.this, user_area.class);
                                login.this.startActivity(intent);
                                finish();
                            } else {
                                AlertDialog.Builder builder = new AlertDialog.Builder(login.this);
                                builder.setMessage("Login Failed")
                                        .setNegativeButton("Retry", null)
                                        .create()
                                        .show();


                            }


                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                };

                LoginRequest loginRequest = new LoginRequest(username, password, responseListener);
                RequestQueue queue = Volley.newRequestQueue(login.this);
                queue.add(loginRequest);

            }
        }
    );
}
@Override
public void onStop() {
    super.onStop();
    if (progresRing != null) {
        progresRing.dismiss();
        progresRing = null;
    }
}
bLogin.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
最终字符串username=etUsername.getText().toString();
最终字符串password=etPassword.getText().toString();
if(username.length()==0){
etUsername.requestFocus();
etUsername.setError(“字段不能为空”);
}
如果(!username.matches(“[0-1a-zA-Z]+”),则为else
{
etUsername.requestFocus();
etUsername.setError(“仅输入字母数字字符”);
}
else if(password.length()==0)
{
etPassword.requestFocus();
etPassword.setError(“字段不能为空”);
}否则{
final ProgressDialog progresRing=ProgressDialog.show(login.this,“登录”,“请稍候…”,true);
progresRing.setCancelable(真);
新线程(newrunnable()){
@凌驾
公开募捐{
试一试{
睡眠(100);
}捕获(InterruptedException被忽略){
progresRing.discouse();
}
}
}).start();
}
//从服务器收到的响应
Response.Listener responseListener=新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
JSONObject jsonResponse=新的JSONObject(响应);
boolean success=jsonResponse.getBoolean(“success”);
如果(成功){
意向意向=新意向(login.this,user\u area.class);
login.this.startActivity(intent);
完成();
}否则{
AlertDialog.Builder=新建AlertDialog.Builder(login.this);
builder.setMessage(“登录失败”)
.setNegativeButton(“重试”,null)
.create()
.show();
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
};
LoginRequest LoginRequest=新的LoginRequest(用户名、密码、响应侦听器);
RequestQueue=Volley.newRequestQueue(login.this);
添加(loginRequest);
}
}
);
}
@凌驾
公共void onStop(){
super.onStop();
if(progrestring!=null){
progresRing.discouse();
progresRing=null;
}
}
}

请提供任何可能的解决方案。。。。这是我的日志

    E/WindowManager: android.view.WindowLeaked: Activity com.example.mariamhp.inicrepot.login has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{1ebb896b V.E..... R......D 0,0-729,322} that was originally added here
                 at android.view.ViewRootImpl.<init>(ViewRootImpl.java:363)
                 at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:271)
                 at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
                 at android.app.Dialog.show(Dialog.java:298)
                 at android.app.ProgressDialog.show(ProgressDialog.java:116)
                 at android.app.ProgressDialog.show(ProgressDialog.java:99)
                 at com.example.mariamhp.inicrepot.login$2.onClick(login.java:64)
                 at android.view.View.performClick(View.java:4780)
                 at android.view.View$PerformClick.run(View.java:19866)
                 at android.os.Handler.handleCallback(Handler.java:739)
                 at android.os.Handler.dispatchMessage(Handler.java:95)
                 at android.os.Looper.loop(Looper.java:135)
                 at android.app.ActivityThread.main(ActivityThread.java:5254)
                 at java.lang.reflect.Method.invoke(Native Method)
                 at java.lang.reflect.Method.invoke(Method.java:372)
                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
E/WindowManager:android.view.WindowLeaked:Activity com.example.mariamhp.inicrepot.login已泄漏最初添加到此处的window com.android.internal.policy.impl.PhoneWindow$DecorView{1eb896b V.E…..R……D 0,0-729322}
在android.view.ViewRootImpl。(ViewRootImpl.java:363)
在android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:271)
在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
在android.app.Dialog.show(Dialog.java:298)
在android.app.ProgressDialog.show上(ProgressDialog.java:116)
在android.app.ProgressDialog.show上(ProgressDialog.java:99)
登录$2.onClick(login.java:64)
在android.view.view.performClick上(view.java:4780)
在android.view.view$PerformClick.run(view.java:19866)
位于android.os.Handler.handleCallback(Handler.java:739)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:135)
位于android.app.ActivityThread.main(ActivityThread.java:5254)
位于java.lang.reflect.Method.invoke(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:372)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

在进入下一个活动之前,您应该关闭进度条

所以在调用下一个活动之前,请关闭进度条

 // Here dismiss the progress bar
 Intent intent = new Intent(login.this, user_area.class);
 login.this.startActivity(intent);
 finish();

在进行下一个活动之前,应关闭进度条

所以在调用下一个活动之前,请关闭进度条

 // Here dismiss the progress bar
 Intent intent = new Intent(login.this, user_area.class);
 login.this.startActivity(intent);
 finish();

添加progressRing.Disclesh java.lang.NullPointerException时发生应用程序冲突:尝试调用虚拟方法“void android.app.ProgressDialog.Disclesh()'在空对象引用上请在onCreate.application之前声明ProgressDialog progressRing当我添加progressRing.Disease java.lang.NullPointerException时发生冲突:尝试在空对象引用上调用虚拟方法'void android.app.ProgressDialog.Disease()'。请在onCreate之前声明ProgressDialog progressRing。