Android ProgressDialog не работает

1

Этот код не работает. Экран загрузки не отображается, однако, если я вывожу http.load(), он отлично работает.

Context ctx = v.getContext();
dialog = ProgressDialog.show(ctx, "Login", "Logging in...");
http.load();

http-код:

try
        {
            HttpClient hc = new DefaultHttpClient();
            HttpPost post = newHttpPost("http://www.example.com/");

            HttpResponse rp = hc.execute(post);

            if(rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
            {
                result = EntityUtils.toString(rp.getEntity());
            }
        }catch(IOException e){
            e.printStackTrace();
        }

}

  • 0
    Что вы подразумеваете под "не работает"?
  • 0
    Получаете ли вы исключение, кроме IOException в http.load ()? Http.load () блокирует выполнение?
Теги:
progressdialog
android-context

1 ответ

3
Лучший ответ

Это потому, что вы вызываете http.load() из потока пользовательского интерфейса, и он блокируется до тех пор, пока этот вызов не завершится. Для этого вы должны использовать AsyncTask.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню