异步调用适配器什么都不显示

时间:2014-08-21 15:52:34

标签: android android-asynctask adapter

我有问题。 我在asyctask结束时设置了适配器。 所有代码规则,但当代码膨胀时,屏幕保持白色。代码不会抛出任何异常,我会设置一些日志来控制执行流程。一切都好,但屏幕保持白色。 我这样做:

protected class ObtenerCursos extends AsyncTask<Void, Void, Boolean> {
    private JSONArray resultado;
    private ProgressDialog dialog;
    private Activity_Mis_Curso activity;
    List <Curso> lista;

    public ObtenerCursos(Activity_Mis_Curso misCursos){
        this.activity=misCursos;
    }
    @Override
    protected Boolean doInBackground(Void... params) {
        resultado = getCursos(url,usuario);
        if (resultado != null) {
            lista=parseJSONDocumentos(resultado);
            return true;
        } else {
            return false;
        }
    }

    protected void onPreExecute() {
        dialog = ProgressDialog.show(Activity_Mis_Curso.this,
                "Obteniendo cursos", "Espere por favor...", true);

    }

    protected void onPostExecute(Boolean result) {
        dialog.cancel();
        if (result) {
            gridView = (GridView) findViewById(R.id.miscursos_Grid);
            if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
                gridView.setNumColumns(3);
                numColumns = 3;
            } else {
                numColumns = 2;
                gridView.setNumColumns(2);
            }
            gridView.setAdapter(new MisCursosAdapter(Activity_Mis_Curso.this, listaCursos, numColumns));
            gridView.setOnItemClickListener(new OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                    if (listaCursos.get(position).getSoloReproduccion() == 0) {
                        Intent i = new Intent(Activity_Mis_Curso.this,
                                Activity_Main_Tradicional.class);
                        i.putExtra("Curso", listaCursos.get(position));
                        finish();
                        startActivity(i);
                    } else {
                        Intent i = new Intent(Activity_Mis_Curso.this,
                                Activity_Curso_SoloReproductor.class);
                        i.putExtra("Curso", listaCursos.get(position));
                        finish();
                        startActivity(i);
                    }
                }
            });
            Log.e("ando", "por aqui \n\n");
        } else {
            Toast.makeText(getBaseContext(), "No se han encontrado cursos",
                    Toast.LENGTH_LONG).show();
            Intent in = new Intent(Activity_Mis_Curso.this,
                    Activity_Index.class);
            finish();
            startActivity(in);
        }

    }
}

我无法找到问题所在,我不知道自己做得不好。

0 个答案:

没有答案