2012-07-19 143 views
0

我的應用程序中有一個列表,該列表通過對數據庫API的http請求填充。然後它解析返回的JSONArray,並適當地設置列表。順便說一下,我對Java編碼和eclipse環境相當陌生。AsyncHttpRequest的Android加載屏幕

我已經實現了與循環J(位於here)開發的自定義庫

然而,當我去我的應用程序列表中的http請求,凍結了一兩秒鐘(同時收集數據),然後填充這個列表,一切工作正常。是否有可能實現一個加載器,將顯示,直到列表完成加載與我使用的當前AsyncHttpClient加載?或者我需要改變一個不同的。由於合同協議,我無法提供任何代碼。

感謝您的任何建議!

+1

使用[的AsyncTask(http://developer.android.com/reference/android/os/AsyncTask.html)爲您的** AsyncHttpRequest * *。 – user370305 2012-07-19 09:44:42

回答

1

我做這樣的事情在我的異步類

public class Async extends AsyncTask { 
    private ProgressDialog dialog; 
    public Context applicationContext; 

    @Override 
    protected void onPreExecute() { 
      //this should appear like a loading bar 
     this.dialog = ProgressDialog.show(applicationContext, "Calling", 
       "Update List ...", true); 
    } 

    @Override 
    protected Object doInBackground(Object... params) { 
      //call your method and threat response 
     return SyncActivity.getUpdatedList(); 

    } 

    @Override 
    protected void onPostExecute(Object result) { 
     this.dialog.cancel(); 
    } 

} 
+0

感謝您的回覆。我用AsyncTask給出了[這個問題]的答案(http://stackoverflow.com/questions/3505930/make-an-http-request-with-android)。我將如何去實施你的建議?我已經將onPreExecute放入它,並在onPostExecute中添加了對話取消調用,但它引發了一些錯誤和崩潰? – 2012-07-19 11:08:12

+0

我的建議與其他文章中的建議非常相似,只不過它增加了加載對話框,治療不在這裏,而是在其他類中。對不起,但不知道它拋出的錯誤,我不能給出更多的細節。 – cosmincalistru 2012-07-19 11:45:56

+0

沒關係!我解決了它。定義爲applicationContext的Context變量返回null。現在所有排序,謝謝! – 2012-07-19 12:29:10