视图未附加

时间:2013-03-04 06:37:34

标签: android progressdialog

嗨,我正在申请中关闭。

错误 - 视图未附加到窗口管理器。

//asynctask for groupnames
    class GroupDataLoad extends AsyncTask<Void, Void, Void>{

        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            super.onPreExecute();

            mCustomProgressDialog = CustomProgressDialog.createDialog(
                    UserMenuActivity.this, "", "");

            mCustomProgressDialog.show();   
            mCustomProgressDialog.setCancelable(false); 
        }

        @Override
        protected Void doInBackground(Void... params) {
            // TODO Auto-generated method stub

            dbHelper = new DatabaseHelper(UserMenuActivity.this);
            //getting the group list
            mXMPPConn.getContactList();

            ParseValues.parsedGroupList.clear();
            APIVariables apiVariables = new APIVariables();
            ParseValues.getGroupList(apiVariables.getGroupList("abc.com"));

            int size = ParseValues.parsedGroupList.size();
            for(int i=0;i<size;i++){
                String groupName = ParseValues.parsedGroupList.get(i).getGroup_name();
                if(CGMStaticVariable.CommonConnection.isConnected())
                {
                    createRoom(groupName, CGMStaticVariable.CommonConnection);
                }
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);
            setExpandableListView();
            mCustomProgressDialog.dismiss();    
        }
    }

加载开始时,我通过单击状态栏中的通知更改forground页面,当我单击BACK按钮再次进入同一活动时,它崩溃说 - “View not attached to window manager”

我无法弄清楚究竟是什么问题

由于

1 个答案:

答案 0 :(得分:0)

我想我当时做了别的事,但如果我现在必须修复它,我会在asynctask启动时在活动中创建进度对话框。我会在活动中保留对话框的引用,并在任务完成后将其关闭。为了告诉活动任务已完成:

  1. 创建界面
  2. 使活动实现界面
  3. 使异步任务接收并保持一周的引用 实现接口的对象
  4. 传递活动(“this”) 任务
  5. 在onPostExecute()中调用接口方法 传递对象
  6. 在该方法的实施中, 销毁/解除对话
  7. 此外,如果在任务完成之前销毁活动,则对话框也将被销毁。使用弱引用很重要,这样在潜在的长任务完成之前不会引用活动。