ProgressBar при загрузке ListView (используя AsyncTask)

Я пытаюсь показать индикатор выполнения при загрузке пользовательского ListView, а затем - скрыть его. Я'Я использую задачу ASync, но по какой-то причине - представление содержимого не установлено, и предыдущее представление макета застряло до тех пор, пока не будет загружено все представление списка.

Вот мой код:

private ListView listViewGameResults;   
    protected View dialogLayout;
    protected ArrayList listGames;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.adresults);
        GameResultsLoader gameResultsLoader = new GameResultsLoader();              
        gameResultsLoader.execute();        
    }

    private class GameResultsLoader extends AsyncTask {       
        private GameResultsAdapter adapter;

        public GameResultsLoader() {            
        }

        @Override
        protected void onPreExecute() { 
        }

        @Override
        protected Void doInBackground(Void... params) { 
            try {
            listGames = GameResultsCache.getInstance().getGameResults();
            adapter = new GameResultsAdapter(getBaseContext(), listGames);
            listViewGameResults = (ListView)findViewById(R.id.listViewGameResults);
            } 
            catch (Exception e) {
                // TODO Auto-generated catch block
                finish();
            }

            return null;
        }

        @Override
        protected void onPostExecute(Void res) {
            listViewGameResults.setAdapter(adapter);
            listViewGameResults.setDivider(null);
            listViewGameResults.setDividerHeight(0);
            ProgressBar pb = (ProgressBar)findViewById(R.id.progressbar_loading);
            pb.setVisibility(View.GONE);            
        }
    }

ProgressBar и ListView в моем макете:


    

Ответы на вопрос(4)

Ваш ответ на вопрос