1
私はバックグラウンドでやりたい2つのタスクを持っていますが、バックグラウンドでそれらを行い、完了したらマップを返すのが良いと思いました。Android Java:複数のタスクが操作されているAsyncTaskはどうなりますか?
しかし、私の問題は、そのうちの1人が処理されていないと思うか、少なくとも両方がそこに置かれるべきかどうかわかりません。
私のコードは以下の通りです。
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();
第2の「AsyncTask」はどこですか? –
@ρяσѕρєяK、それは1つの 'AsyncTask'です、私は内部で2つの操作を行いたいと思います。 – Relm