我有问题。
我在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);
}
}
}
我无法找到问题所在,我不知道自己做得不好。