我首先创建了一个异步任务来检索 JSON 数据。检索到的 JSON 对象之一是 URL。
// This goes on my asynctask to get JSON data from the server
@Override
public void onPostExecute(JSONObject json) {
try {
String title = json.getString("title");
String description = json.getString("description");
String url = json.getString("url");
// Here comes the tricky part
Bitmap bitmap = Bitmap.createBitmap(100,100,Bitmap.Config.ARGB_8888);
new DownloadBitmap(bitmap).execute(url);
myArrayList.add(new DataContainer(title,description,bitmap));
// End of the tricky part
}catch(Exception e) {}
adapter.NotifyDataSetChange();
}
好的,如您所见,我需要一个参考bitmap
来发送到下载器类和列表视图适配器的数组列表。
问题是下载器类是这样的:
class DownloadBitmap extends AsyncTask<the 3 paramateres goes here>{
Bitmap bitmap;
public DownloadBitmap(Bitmap b) {
//Here I have a reference to the SAME bitmap object I added to the arraylist
bitmap = b;
}
@Override
protected void doInBackground(String... Params) {
// some code.....
// THIS IS THE PROBLEM, it re-initialize.
bitmap = BitmapFactory.decodeStream(inputstream);
}
我找不到任何其他方法,如果可能的话,我想要一个独立的解决方案库,我的公司对软件依赖有严格的政策。