No puedo ver ProgressDialog mientras AsyncTask se ejecuta en segundo plano

Utilizo AsyncTask en mi aplicación para descargar una url. Yo uso un ProgressDialog en onPreExecute () para esperar. Pero no puedo ver ProgressDialog mientras finaliza el proceso y lo veo por un momento. quiero verlo mientras se descarga, no después de eso. Alguien puede ayudarme. gracias mi código es así:

private class loadMoreListView extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        // Showing progress dialog before sending http request
        pDialog = new ProgressDialog(SingleMenuItemActivity.this);
        pDialog.setMessage("Please Wait ...");
        pDialog.isIndeterminate();
        pDialog.setCancelable(false);
        pDialog.show();
    }

    protected Void doInBackground(Void... unused) {
        runOnUiThread(new Runnable() {
            public void run() {

           // do something for downloading

        }
        });

        return (null);
    }


    protected void onPostExecute(Void unused) {
        // closing progress dialog
        pDialog.dismiss();
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta