Android: метод перестает работать после размещения внутри асинктической задачи - PullRequest
0 голосов
/ 15 июня 2011

У меня есть метод, который заполняет публичный список ArrayList для рисования.

отлично работает (псевдокод):

 - populateArrayList()
 - use imageAdapter to populate gridview

Теперь я хочу поместить метод populateArrayList () в асинхронную задачу, чтобы выйти из потока пользовательского интерфейса и отобразить диалоговое окно процесса загрузки.

private class AsyncLoadBuildingData extends AsyncTask<Void, Void, Void>{

    ProgressDialog mDialog = new ProgressDialog(thisClassName.this);

    @Override
    protected void onPreExecute(){      
        mDialog.setMessage("Please wait...");
        mDialog.show();
    }

    @Override
    protected Void doInBackground(Void... voids) {

        getBuildingData();
        return null;

    }

    @Override
    protected void onProgressUpdate(Void... progress) {
    }

    @Override
    protected void onPostExecute(Void voids){
        mDialog.dismiss();

   }

}

однако, с этой настройкой массив не заполняется.

РЕДАКТИРОВАТЬ: stacktrace

java.lang.UnsupportedOperationException
at org.eclipse.jdi.internal.MirrorImpl.defaultReplyErrorHandler(MirrorImpl.java:255)
at org.eclipse.jdi.internal.ReferenceTypeImpl.classObject(ReferenceTypeImpl.java:752)
at org.eclipse.jdt.internal.debug.core.model.JDIReferenceType.getClassObject(JDIReferenceType.java:109)
at org.eclipse.jdt.internal.debug.eval.ast.engine.AbstractRuntimeContext.classForName(AbstractRuntimeContext.java:117)
at org.eclipse.jdt.internal.debug.eval.ast.engine.AbstractRuntimeContext.classForName(AbstractRuntimeContext.java:150)
at org.eclipse.jdt.internal.debug.eval.ast.instructions.Instruction.getType(Instruction.java:204)
at org.eclipse.jdt.internal.debug.eval.ast.instructions.PushType.execute(PushType.java:29)
at org.eclipse.jdt.internal.debug.eval.ast.engine.Interpreter.execute(Interpreter.java:66)
at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine$1$EvaluationRunnable.run(ASTEvaluationEngine.java:483)
at org.eclipse.jdt.internal.debug.core.model.JDIThread.runEvaluation(JDIThread.java:681)
at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine$EvalRunnable.run(ASTEvaluationEngine.java:520)
at org.eclipse.jdt.internal.debug.core.model.JDIThread$ThreadJob.run(JDIThread.java:2756)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...