"user"という名前のjsonオブジェクトがあります。名前と電子メールの2つのフィールドがあります。 これら2つの値をトーストとして表示したいのですが、LogCatがウィンドウリークエラーを表示しています。JSONオブジェクトのリークウィンドウ
これは私のAsyncTaskクラスのコードです:
private class Data extends AsyncTask<String,String,JSONObject>
{ProgressDialog pd;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
pd=new ProgressDialog(SignUp.this);
pd.setMessage("Loading....");
pd.setCancelable(false);
pd.show();
super.onPreExecute();
}
@Override
protected JSONObject doInBackground(String... arg0) {
// TODO Auto-generated method stub
jparseLogin j=new jparseLogin();
JSONObject obj=
j.makeHttpRequest("http://projectred.in/phploginwebservice/index.php?" +
"tag=register&fname="+fsname+"&lname="+lsname+"&email="+emailid+"&password="+password+"&gender="+gender+
"&mobile="+mobile+"&blood_grp="+bloodgroup+"&age="+agee+"verify=0");
return obj;
}
@Override
protected void onPostExecute(JSONObject result) {
TinyDB db1 = new TinyDB(SignUp.this);
// TODO Auto-generated method stub
//StringBuilder b=new StringBuilder();
pd.dismiss();
try{
String s=result.getString("success");
//String u=result.getString("uid");
//db1.putString("uid",u);
if(s.equals("1"))
{ JSONObject jo = result.getJSONObject("user");
for(int i=0; i<5;i++) {
String name = jo.getString("name");
String email = jo.getString("email");
Toast.makeText(SignUp.this,""+name+","+email,Toast.LENGTH_LONG).show();
//flag = true;
Intent intent = new Intent(SignUp.this, VerifyNumber.class);
intent.putExtra("mobile", mobile);
startActivity(intent);
SignUp.this.finish();
}
}
else
{
Toast.makeText(SignUp.this, "Incorrect Email or Password....Try Again", Toast.LENGTH_LONG).show();
}
// else
// {
// Toast.makeText(SignUp.this,"Success: "+s,Toast.LENGTH_LONG).show();
// }
}
catch(JSONException e)
{
e.printStackTrace();
Toast.makeText(SignUp.this,"Plz Try Again",Toast.LENGTH_LONG).show();
}
super.onPostExecute(result);
}
}
}
これは私のLogCatです:
10-11 17:48:49.118 10468-10468/com.encodezero.projectred E/WindowManager: android.view.WindowLeaked: Activity com.encodezero.projectred.SignUp has leaked window com.android.internal.policy.PhoneWindow$DecorView{75b57f9 V.E...... R......D 0,0-684,232} that was originally added here
at android.view.ViewRootImpl.<init>(ViewRootImpl.java:375)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:299)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
at android.app.Dialog.show(Dialog.java:319)
at com.encodezero.projectred.SignUp$Data.onPreExecute(SignUp.java:208)
at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:604)
at android.os.AsyncTask.execute(AsyncTask.java:551)
at com.encodezero.projectred.SignUp$2.onClick(SignUp.java:114)
at android.view.View.performClick(View.java:5207)
at android.view.View$PerformClick.run(View.java:21168)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
あなたの問題には関係ありませんが、HTTPリクエストのために改造を使用することをお勧めします https://zeroturnaround.com/rebellabs/getting-started-with-retrofit-2/ –
可能な複製:http: //stackoverflow.com/questions/11957409/activity-has-leaked-window-com-android-internal-policy-impl-phonewindowdecorvie –