Этот код не работает. Экран загрузки не отображается, однако, если я вывожу 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();
}
}
Это потому, что вы вызываете http.load()
из потока пользовательского интерфейса, и он блокируется до тех пор, пока этот вызов не завершится. Для этого вы должны использовать AsyncTask.