codice:
package org.lulz_industries.asyncdialog;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Toast;
public class AsyncDialogActivity extends Activity {
private ProgressDialog myPD;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonDisplayDialog = (Button) findViewById(R.id.buttonDisplayDialog);
buttonDisplayDialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new DialogTask().execute();
}
});
}
class DialogTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
myPD = ProgressDialog.show(AsyncDialogActivity.this, "ProgressDialog" , "Tic Tac");
}
@Override
protected Void doInBackground(Void... arg0) {
for (int i=0; i<20; i++) {
SystemClock.sleep(500);
}
return (null);
}
@Override
protected void onPostExecute(Void arg0) {
myPD.dismiss();
}
}
}
codice:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button android:layout_height="wrap_content" android:layout_width="match_parent" android:text="@string/display_dialog_button" android:id="@+id/buttonDisplayDialog"></Button>
</LinearLayout>
Se vuoi un consiglio per la prossima volta, cerca di imparare ad usare logcat.. Una persona magari legge e ha voglia e sa come aiutarti, però se non posti logcat e il codice ci vuole un sacco di tempo a capire qual'è il problema. Poi aiuta anche scarnificare il tuo problema dall'applicazione che stai facendo.. Fai un applicazione di prova che faccia solo la cosa del progress dialog senza introdurre nient'altro e posta quella per capire cos'è che non va, una volta imparato come si fa poi ci penserai tu ad implementare la cosa nella tua problematica reale