Nella mia applicazione, ho un listview e ogni elemento ha un pulsante. Se l'utente fa clic sul pulsante, voglio eseguire qualche connessione http. Quindi io uso AsyncTask nella classe Adapter. Ora il problema è che la finestra di avanzamento non viene mostrata.Android: ProgressDialog non viene visualizzato nella classe adattatore
private class MyClass extends AsyncTask<Void, Long, Boolean> {
private Context context;
private ServerCall call = new ServerCall();
private ProgressDialog progressDialog1;
public MyClass(Context context) {
this.context = context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
try {
progressDialog1 = ProgressDialog.show(context, "",
"Please wait...", true);
progressDialog1.setIndeterminate(true);
} catch (final Throwable th) {
}
}
@Override
protected void onProgressUpdate(Long... values) {
super.onProgressUpdate(values);
}
@Override
protected Boolean doInBackground(Void... params) {
//some tasks
return true;
}
@Override
protected void onPostExecute(Boolean result) {
if (mode.equalsIgnoreCase("History")) {
Intent order = new Intent(context, ActicityA.class);
order.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(order);
} else {
Intent order = new Intent(context, ActivityB.class);
order.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(order);
}
}
}
stato onPreExcute() metodo chiamato? Abbiamo bisogno di informazioni morali. –
@LazyNinja yes onPreExcute() chiamato. lo vedo in lagcat – Sridhar
Perché non registrare l'eccezione nel blocco catch all'interno del metodo preExecute. Se stai ricevendo un'eccezione, saprai qual è il problema. – Sameer