Android 视图未附加
嗨,在我的应用程序中,我越来越接近原力了 错误-视图未附加到窗口管理器Android 视图未附加,android,progressdialog,Android,Progressdialog,嗨,在我的应用程序中,我越来越接近原力了 错误-视图未附加到窗口管理器 //asynctask for groupnames class GroupDataLoad extends AsyncTask<Void, Void, Void>{ @Override protected void onPreExecute() { // TODO Auto-generated method stub su
//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();
}
}
//组名的异步任务
类GroupDataLoad扩展了AsyncTask{
@凌驾
受保护的void onPreExecute(){
//TODO自动生成的方法存根
super.onPreExecute();
mCustomProgressDialog=CustomProgressDialog.createDialog(
UserMenuActivity.this,“,”);
mCustomProgressDialog.show();
mcustompressDialog.setCancelable(false);
}
@凌驾
受保护的Void doInBackground(Void…参数){
//TODO自动生成的方法存根
dbHelper=newdatabasehelper(UserMenuActivity.this);
//获取组列表
mXMPPConn.getContactList();
ParseValues.parsedGroupList.clear();
APIVariables APIVariables=新的APIVariables();
grasevalues.getGroupList(apivaries.getGroupList(“abc.com”);
int size=ParseValues.parsedGroupList.size();
对于(int i=0;i我想我当时做了其他事情,但如果现在必须修复它,我会在异步任务启动时在活动中创建进度对话框。我会在活动中保留对对话框的引用,并在任务完成后将其取消。为了告诉活动任务已完成:
创建一个接口
使活动实现接口
使异步任务接收并保留一周对
实现接口的对象
通过活动(“本”)
完成任务
在onPostExecute()中,调用
传递对象
在该方法的实施过程中,
销毁/关闭对话框
此外,如果活动在任务完成之前被销毁,对话框也将被销毁。使用弱引用非常重要,这样在可能很长的任务完成之前,活动才被引用。您能补充一些关于启动对话框的活动及其生命周期的说明吗?我有一个类似的例子lar问题,问题是在onPostExecute()之前,活动已被销毁(关闭),对话框位于此处dismissed@stan0是的,我的问题是一样的,我在调用onPostExecute之前销毁活动,那么解决方案是什么?你能告诉我解决方案吗,我应该怎么做..你说的我不清楚