2012-02-02 2 views
1

Я пытаюсь отобразить диалог прогресса в java 'A'. В настоящий момент я вызываю из «A» класс из java «B», который определенная java загружает данные из веб-службы и сохраняет данные в файл. Диалог прогресса не отображается. Код, который я использую:диалог прогресса не работает

ProgressDlg= ProgressDialog.show(Doctor.this, "","Loading. Please wait...", true); 
String time_batch=mDataIntent.getExtras().getString("TIME_BATCH"); 
String patientid=mDataIntent.getExtras().getString("PatientId") 
mGetHeartRate = new GetHeartRate(Doctor.this, mHandler); 
mgetEcgAnalized = new getEcgAnalized(Doctor.this, mHandler); 
mGetHeartRate.getHeart(patientid,time_batch);          
mgetEcgAnalized.getECG(patientid, time_batch, "I".toString()); 
ProgressDlg.dismiss(); 
+0

Что-нибудь в logcat? – Otra

ответ

1

Выполняется ли ProgressDialog в AsyncTask? Что-то вроде этого:

public class ExampleTask extends AsyncTask<String, Integer, String> { 
    private ProgressDialog progressDlg; 
    private Context context; 
    private Handler progressHandler; 

    public ExampleTask(Context context) { 
     this.context = context; 
    } 

    @Override 
    protected void onPreExecute() { 
     progressHandler = new Handler(); 
    } 

    @Override 
    protected String doInBackground(String... params) { 
     //to do 
    } 

    @Override 
    protected void onPostExecute(String filePath) { 
     if (progressDlg != null) { 
      progressDlg.dismiss(); 
      progressDlg = null; 
     } 
    } 

    @Override 
    protected void onProgressUpdate(final Integer... values) { 
     final int progress = values[0]/1000; 
     if (progressDlg == null) { 
      progressHandler.post(new Runnable() { 
       @Override 
       public void run() { 
        final int max = values[1]/1000; 
        progressDlg = new ProgressDialog(context); 
        progressDlg.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
        progressDlg.setMessage("Message"); 
        progressDlg.setMax(max); 
        progressDlg.show(); 

       } 
      }); 
     } else { 
      progressDlg.setProgress(progress); 
     } 
    } 
} 
+0

не использую AsyncTask, и я не знаю, как эта работа и как я могу назвать это из своей активности. – prokopis

+0

Я пытаюсь работать и работать, но теперь у меня есть другой вопрос. возможно ли обновить сообщение диалога прогресса в asyngtask? – prokopis

+0

Вы можете установить сообщение о диалоге прогресса и подумать, что его можно обновить, но я никогда этого не делал. – Alex

0

Это работает для меня.

ProgressDialog dialog = ProgressDialog.show(activity, "", PopUpHelper.LOADING, true); 
dialog.show(); 
Смежные вопросы