No se puede configurar el Adaptador ListView desde AsyncThread

Estoy usando unaListView en miActivity y tarda un tiempo en cargar desde una base de datos SQLite, así que quería mostrar unProgressDialog al usuario para hacerles saber que algo se está cargando. Traté de ejecutar la tarea en un hilo separado pero obtengo unCalledFromWrongThreadException. Aquí está mi @ principActivity código:

@Override
public void onCreate(Bundle savedInstanceState) 
{
    try
    {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
        setContentView(R.layout.open_issues);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);

        //Set Window title.
        final TextView title = (TextView) findViewById(R.id.customTitle);
        if (title != null)
            title.setText("Open Issues");

        //Call Async Task to run in the background.
        new LoadIssuesTask().execute();
    }
    catch (Exception e)
    {
        Errors.LogError(e);
    }
}

Y el código de LoadIssuesTask:

private class LoadIssuesTask extends AsyncTask<Void, Void, Cursor> {

    ProgressDialog pdDialog = null;
   protected void onPreExecute()
   {
       try
       {
           pdDialog = new ProgressDialog(OpenIssues.this);
           pdDialog.setMessage("Loading Issues and Activities, please wait...");
           pdDialog.show();
       }
       catch (Exception e)
       {
           Errors.LogError(e);
       }
   }

   @Override
   protected Cursor doInBackground(Void... params) {
       LoadIssues();
       return null;
   }

   @Override
   protected void onPostExecute(Cursor c) {
       pdDialog.dismiss();
       pdDialog = null;
   }
 }

Y el código LoadIssues:

private void LoadIssues(){
    //Set listview of Issues.
    ListView lvIssues = (ListView)findViewById(R.id.lvIssues);
    lvIssues.setOnItemClickListener(viewIssuesListener);

    IssueCreator = new IssueInfoCreator(this, Integer.parseInt(AppPreferences.mDBVersion));
    IssueCreator.open();
    lvIssues.setAdapter(new IssueInfoAdapter(this, IssueCreator.queryAll()));        
    IssueCreator.close();
}

Constructor para IssueInfoAdapter:

public IssueInfoAdapter(Context c, List<IssueInfo> list){
    mListIssueInfo = list;

    //create layout inflater.
    mInflater = LayoutInflater.from(c);
}

Está arrojando el error en el método .setAdapter dentro deLoadIssues(). ERROR

03-12 10:41:23.174: E/AndroidRuntime(11379): Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: 
Only the original thread that created a view hierarchy can touch its views.

Respuestas a la pregunta(4)

Su respuesta a la pregunta