VIEW未附加到窗口管理器

时间:2014-02-12 07:32:37

标签: android exception

我正在开发一个应用程序,其中有四个选项卡..每个进行单独的操作。在操作完成后的最终选项卡中。应用程序刷新。

问题是当app刷新时窗口泄漏错误被获取。视图没有附加到窗口管理器。错误显示在行

 @Override
            protected void onPostExecute(Void result) {
                super.onPostExecute(result);
                if (pDialog.isShowing())
                    pDialog.dismiss();
                populateSpinner();
            }

完全在pDialog.dismiss();

活动的主要组成部分如下所示

public class DayStartActivity extends Activity {
    ProgressDialog pDialog;
@Override
    protected void onCreate(Bundle savedInstanceState) {
    new Getdata().execute();

    //  new GetRouteoptmdata().execute();
    }
private class Getdata extends AsyncTask<Void, Void, Void> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(DayStartActivity.this);
            pDialog.setMessage("ON PROCESS..PLEASE WAIT..");
            pDialog.setCancelable(true);
            pDialog.show();

        }

        @Override
        protected Void doInBackground(Void... arg0) {
            ServiceHandler jsonParser = new ServiceHandler();
            String json = jsonParser.makeServiceCall(URL_DAYSTARTDATA,
                    ServiceHandler.POST);


            if (json != null) {
                try {
                    if(json.contains("<!--"))

                        json=json.substring(0, json.indexOf("<!--"));
                    Log.e("Response according to Gettabledata:: ", " " + json);
                    // JSONObject jsonObj = new JSONObject(json);
                    // if (jsonObj != null) {
                    JSONArray daystartdata = new JSONArray(json);
                    // .getJSONArray("categories");

                    for (int i = 0; i < daystartdata.length(); i++) {
                        JSONObject jsonChildNode = daystartdata
                                .getJSONObject(i);

                        DaystartSetGet daystart = new DaystartSetGet(
                                jsonChildNode.getString("altroutecode"),
                                jsonChildNode.getString("route"),
                                jsonChildNode.getString("salesrep"),
                                jsonChildNode.getString("name"),
                                jsonChildNode.getString("date"),
                                jsonChildNode.getString("time"),
                                jsonChildNode.getString("deleverydate"),
                                jsonChildNode.getString("week"),
                                jsonChildNode.getString("day"),
                                jsonChildNode.getString("vehiclenumber"));

                        routecodelist.add(daystart);

                    }
                    // }

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

            } else {
                Log.e("JSON Data", "Didn't receive any data from server!");
            }



            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            if (pDialog.isShowing())
                pDialog.dismiss();
        }

    }

当应用程序第一次运行时没有问题。刷新选项卡时会出现问题。

请帮帮我。谢谢你提前

1 个答案:

答案 0 :(得分:0)

仍然是前台活动,您不打开任何新活动?

另外,您是否考虑在选项卡的容器上使用ViewSwitcher而不是对话框?谷歌建议尽可能避免对话(特别是ProgressDialog):http://developer.android.com/guide/topics/ui/dialogs.html

如果你仍想使用ProgressDialog,请考虑应该解除对话框的所有可能状态:活动被销毁,asyncTask被取消(至少应该在活动被销毁时以及用户取消时发生)对话框,取决于你的应用程序的逻辑。)