2014-09-12 2 views
0

это что-то странное, иногда, когда я прихожу к моему activiity, он называет AsyncTask, это код, где я использую ProgressDialogProgressDialog иногда получаю ошибку в AsyncTask

ProgressDialog ringProgressDialog ; 

@Override 
protected void onPreExecute() 
{ 
    super.onPreExecute(); 
    ringProgressDialog= ProgressDialog.show(Myactivity.this, null,"message", true); 

} 

@Override 
protected void onPostExecute(String result) 
{ 
    super.onPostExecute(result); 
    ringProgressDialog.dismiss(); 
} 

Somedays AsyncTask получить ошибку, я хотел опубликуйте ошибку, но почему-то у меня нет ошибки.

В чем проблема? Почему это иногда происходит с ошибкой, и иногда это нормально работает? Я уверен, что проблема связана с progressDialog.

Благодаря

+0

воспроизвести ошибку и поставить LogCat запись здесь. – Techfist

ответ

0
ProgressDialog ringProgressDialog ; 
     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      ringProgressDialog= ProgressDialog.show(getApplicationContext(), null,"message", true); 

     } 

     @Override 
     protected void onPostExecute(String result) { 
      super.onPostExecute(result); 
      if(ringProgressDialog.isShowing()) 
      ringProgressDialog.dismiss(); 
     } 
0

попробовать по-другому

ProgressDialog pDialog; 

protected void onPreExecute() { 
      super.onPreExecute(); 
      // Showing progress dialog 
      pDialog = new ProgressDialog(Activity.this); 
      pDialog.setMessage("Fetching News..."); 
      pDialog.setCancelable(false); 
      pDialog.show(); 
     } 
0

Попробуйте этот путь, надеюсь, это поможет вам решить вашу проблему.

public void getDataFromServer(final Context context){ 

     new AsyncTask<Void,Void,Void>(){ 
      ProgressDialog ringProgressDialog ; 
      @Override 
      protected void onPreExecute() { 
       super.onPreExecute(); 
       ringProgressDialog= ProgressDialog.show(context, null,"message", true); 
      } 

      @Override 
      protected Void doInBackground(Void... params) { 
       // write your service call code here 
       return null; 
      } 

      @Override 
      protected void onPostExecute(Void aVoid) { 
       super.onPostExecute(aVoid); 
       ringProgressDialog.dismiss(); 
      } 
     }.execute(); 
    } 
0
ProgressDialog pDialog; 

protected void onPreExecute() { 
      super.onPreExecute(); 
      // Showing progress dialog 
      pDialog = new ProgressDialog("Your Activity"); 
      pDialog.setMessage("Your message"); 
      pDialog.setCancelable(false); 
      pDialog.show(); 
     } 

    @Override 
     protected void onPostExecute(String result) { 
      super.onPostExecute(result); 
      pDialog.dismiss(); 
     }