如何在運行某些任務之前確保異步任務完成。我需要使用變量後異步任務更改該變量的值。如果我在運行async之前運行代碼,那麼我就搞定了。任何幫助? im顯然是異步任務的新手。如果你看我的代碼即時可能不使用onPostExecute(),因爲它的意圖,所以建議會有所幫助。我最初的想法是不斷增加異步任務的內容,但我認爲這只是不好的做法,因爲我有很多必須連續運行的東西。基本上,我認爲它歸結爲:我如何確保在我的異步任務完成之前,UI線程中的任務不會開始運行。只有在異步任務完成後才需要運行任務
public class MainActivity extends MapActivity {
myJSONmap;
public void onCreate(Bundle savedInstanceState) {
new AsyncStuff().execute();
locatePlace(myJSONmap);
class AsyncStuff extends AsyncTask<Void, Integer, JSONObject> {
@Override
protected JSONObject doInBackground(Void... params) {
jObject = GooglePlacesStuff.getTheJSON(formatedURL);
return null;
}
@Override
protected void onPostExecute(JSONObject result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
myJSONmap = JSONextractor.getJSONHMArrayL(jObject); // getting the parsed data from the JSON object.
//the arraylist contains a hashmap of all the relevant data from the google website.
}
}
所以基本上我所有的剩餘活動將在onPostExecute() 方法?這是一個好習慣嗎? –
是的,onPostExecute()是**任務完成後需要完成的**。 – nsemeniuk
它可能在onPostExecute()中有很多行代碼。這個可以嗎? –