2016-12-24 51 views
1

我有兩個任務想在後臺完成,但我認爲在後臺執行這兩項任務並在完成後返回地圖可能會很好。Android Java:在運行多個任務的AsyncTask中會發生什麼?

但我的問題是我認爲其中一個沒有被處理,或者至少我不知道他們是否應該被放在那裏。

我的代碼如下。

final TextView   v = (TextView) P.findViewById(R.id.abbr); 
    final SimpleDraweeView i = (SimpleDraweeView) P.findViewById(R.id.icon); 
    new AsyncTask<Object, Object, HashMap<String, Object>>() { 
    @Override 
    protected HashMap<String, Object> doInBackground(Object... params) { 
     String k = SyncProfiles.getIcon(A, C.getNumber()); 
     Drawable dr; 
     if (k == null) { 
      dr = H.setDrawableColor(A, R.drawable.contact_user_bg, H.aoRandColor()); 
     } else { 
      dr = null; 
     } 
     HashMap<String, Object> r = new HashMap<>(); 
     r.put("bg", dr); 
     r.put("url", Images.ImageServerResize(k, 180)); 
     return r; 
    } 

    @Override 
    protected void onPostExecute(HashMap<String, Object> o) { 
     v.setText(C.getName().trim().substring(0, 1)); 
     if (o.get("url") == null) { 
      contact_bg.setBackground((Drawable) o.get("bg")); 
      i.setVisibility(View.GONE); 
     } else { 
      i.setImageURI(Uri.parse((String) o.get("url"))); 
      i.setVisibility(View.VISIBLE); 
     } 
    } 
    }.execute(); 
+0

第二個'AsyncTask'在哪裏? –

+0

@ρяσѕρєяK,它是一個'AsyncTask',我想在它裏面做兩個操作。 – Relm

回答

0

不要在同一個實例上多次調用AsyncTask.execute()。

// For example 
SampleTask sampleTask = new SampleTask(); 
sampleTask.execute(); 
sampleTask.execute(); //Error, IllegalStateException 
相關問題