Visualizzazione stampabile
-
Sono molto deluso dagli AlertDialog, ProgressDialog....
Ho fatto migliaia di tentativi ma non riesco a far funzionare
problemi riscontrati:
- riesco a visualizzare la ProgressDialog ma non a toglierla con dismissDialog(idDialog) e mi ritorna un errore che non esiste dialog con quella id.
- se faccio dialog.dismiss() non viene mai visualizzata la dialog
Capisco che il mio problema non sia importante ma non riesco a risolverlo.
Semplicemente sono rimasto male che nessuno abbia potuto darmi un semplicissimo codice che mi faccia visualizzare una dialog e dopo un pò di tempo la faccia sparire... ormai è tardi... mi serviva prima...
In ogni caso se qualcuno sia ancora di buona volontà per curiosità mi interesserebbe cmq una possibile soluzione.
Scusate il mio sfogo ma quando provi in 1000 modi a far una dialog
sembrando la cosa più semplice del mondo....
-
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
-
Ti ringrazio per la risposta e provero subito il tuo codice modificandolo
successivamente...
Hai ragione dovevo usare il logcat (richiesto anche da un'altro utente oltre a te) ma ora ho imparato come funziona e per il futuro posterò anche il logcat.
Tuttavia sono rimasto male dal problema di Android con queste finestre di avviso (sicuramente conta anche molto la mia inesperienza) cosa già sottolineata da utenti di questo e altri forum.
E poi avevo specificato nel forum che questo problema x me era importante e che mi serviva urgentemente.... cmq non voglio fare polemiche xkè non è nella mia natura anzi ti ringrazio immensamente x il tuo aiuto.
-
Quote:
Originariamente inviato da
Jordano
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
Ho provato il tuo codice e crasha già all'inizio...
Ti posto il logcat
-
Quote:
Originariamente inviato da
mikelmanto
E poi avevo specificato nel forum che questo problema x me era importante e che mi serviva urgentemente.... cmq non voglio fare polemiche xkè non è nella mia natura anzi ti ringrazio immensamente x il tuo aiuto.
Avessi letto prima ti avrei risposto prima, mi dispiace se ti serviva per una tesi o simili.
Secondo me non è il caso di mettersi a scrivere che sei deluso però che nessuno ti ha fatto del codice. Un forum non è un help desk dove la gente è pagata per rispondere.
La soluzione del problema c'era già nel post di androidlab, dovevi solo implementarla (con 1000 difficoltà lo so).
In tutti i forum o quasi gli altri utenti contribuiscono volontariamente e gratis quando hanno tempo, secondo me pressando per sottolineare l'urgenza fa ottenere sempre l'effetto contrario.
-
se vuoi importare il progetto in eclipse..
http://dl.dropbox.com/u/19990890/exa...syncDialog.rar
la butto li che o hai copiato male il file xml, oppure usi una versione di android precedente a 2.2