2013-05-19 72 views
0

我目前有一些代碼正在生成兩個對象。 (ArrayList和ArrayList)。代碼將從數據庫中提取所有數據,這可能需要幾秒鐘的時間。我期望做的是圍繞一個AsyncTask包裝代碼,以便我可以添加一個進度條。不要以爲我可以建立他們分開 我不能解決如何將他們都返回到活動。有沒有辦法運行我的代碼並返回兩個對象。示例,請 感謝您的時間AsyncTask返回多對象

+0

的http://計算器.com/questions/8921244/return-data-from-asynctask-android – Raghunandan

+0

爲什麼不只是返回一個多維的ArrayList?如果它們的類型不同,請設置父ArrayList ,然後將這些子元素轉換爲適當的類型 – Guardanis

回答

0

不完全知道什麼是你問,但這裏是我使用的通用代碼:

public class SomeActivity extends Activity { 
    private ProgressDialog progressDialog; 

    new SomeTask().execute(); 

    public void requestFinished(String response) { 
     if (progressDialog != null) { 
     progressDialog.dismiss(); 
     } 
    } 

    private class SomeTask extends AsyncTask<String, String, String> { 
     @Override 
     protected void onPreExecute() { 
      progressDialog = ProgressDialog.show(SomeActivity.this, "", "Loading"); 
      super.onPreExecute(); 
     }  

     @Override 
     protected String doInBackground(String... uri) { 
      // DO YOUR DB CALLS HERE 
     } 

     @Override 
     protected void onPostExecute(String response) { 
     SomeActivity.this.requestFinished(response); 
     } 
    } 
} 

希望這有助於...