2014-12-08 3 views
0

У меня есть класс AsyncTask и я пытаюсь отправить HTTP request.i также диалог прогресса использовать, но я не могу показать прогресс dialog.i есть ошибка это мой источникдиалога прогресса в андроиде

private class SendAccesssTokenToServer extends 
     AsyncTask<String, Void, String> { 
    ProgressDialog pDialog; 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 

     pDialog = new ProgressDialog(getActivity()); 

     pDialog.setCancelable(false); 
     pDialog.show(); 
     pDialog.setContentView(R.layout.custom_progressdialog); 
    } 

    @Override 
    protected String doInBackground(String... params) { 
     return null; 
    } 

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

     if (pDialog != null) { 
      pDialog.dismiss(); 

      pDialog = null; 
     } 

     Log.e("Result issss", result + "res"); 

    } 
} 

Это моя логическая ошибка enter image description here

как я могу решить свою проблему? если кто-нибудь знает решение, пожалуйста, помогите мне спасибо

+1

'pDialog.setContentView (R.layout.custom_progressdialog),' 'перед тем pDialog.show(); ' –

ответ

0

Вы неправильно поменяли код. Проверьте правильность кода ниже:

private class SendAccesssTokenToServer extends 
    AsyncTask<String, Void, String> { 
ProgressDialog pDialog; 

@Override 
protected void onPreExecute() { 
    super.onPreExecute(); 

    pDialog = new ProgressDialog(getActivity()); 
    pDialog.setContentView(R.layout.custom_progressdialog); 
    pDialog.setCancelable(false); 
    pDialog.show(); 

} 

@Override 
protected String doInBackground(String... params) { 
    return null; 
} 

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

    if (pDialog != null) { 
     pDialog.dismiss(); 
    } 

} 
} 
0
@Override 
protected void onPreExecute() 
{ 

    super.onPreExecute(); 

    pDialog = new ProgressDialog(LoginActivity.this); 

    pDialog.setMessage("Loading car. Please wait..."); 

    pDialog.setIndeterminate(false); 

    pDialog.setCancelable(false); 

    pDialog.show(); 
} 

protected void onPostExecute(String file_url) 
{ 
    // dismiss the dialog after getting values 

    pDialog.dismiss(); 

} 
0
@Override 
protected void onPreExecute() { 
    super.onPreExecute(); 

    pDialog = new ProgressDialog(getActivity()); 

    pDialog.setCancelable(false); 
    pDialog.show(); 
    pDialog.setContentView(R.layout.custom_progressdialog); 
} 

Сначала вы показать progressDialog затем назначить другую раскладку без dissmiss предыдущего progressDialog. Вот почему вы получаете эту ошибку.

Просто измените код так: -

@Override 
protected void onPreExecute() { 
    super.onPreExecute(); 

    pDialog = new ProgressDialog(getActivity()); 
    pDialog.setContentView(R.layout.custom_progressdialog); 
    pDialog.setCancelable(false); 
    pDialog.show(); 

} 

Надеется, что это поможет :)

Смежные вопросы