我想做以下事情。我想显示一个包含信息和图像的列表。这些图像需要一段时间才能加载,所以我想我会做不同的事情。我会使用两个 AsyncTasks。第一个创建所有布局并用除图像之外的数据填充它。第二个只是将图像插入到布局中。我遇到的问题是,我不知道这怎么可能?
在我的第一个 AsyncTask 中,我正在创建 TableLayouts 和行,然后用数据填充它们
这只是我的一些代码,以了解我如何创建布局
在这里,我首先创建了 TableLayouts 和 TableRows
tableLayout [i] = new TableLayout (getActivity());
headingRow [i] = new TableRow (getActivity());
headlineRow [i] = new TableRow (getActivity());
imageDescRow[i] = new TableRow (getActivity());
spaceView [i] = new LinearLayout (getActivity());
然后我用数据填充 TextViews
headline [i].setText( headlineArr [i] );
date [i].setText( realDate );
source [i].setText( sourceArr [i] );
description [i].setText( descriptionArr [i] );
然后我将 TextViews 添加到表格中,并将表格添加到布局中。代码当然要大得多,而且比我刚才所做的要多得多。它工作没有任何问题。仍然遇到的唯一问题是图像加载需要很长时间才能加载,我不想仅仅因为图像正在加载而阻止用户使用我的应用程序。
最好的方法是什么?我以为我会从当前的 asynctask 在 onPostExecute 方法中创建另一个 AsyncTask 并将图像的 URL 作为参数传递。然后在 doInBackgroundMethod 中添加图像。但是如何在新的 AsyncTask 中使用来自另一个 AsyncTask 的布局?如果我将图像留空,它不会破坏整个布局吗?
进行这种延迟加载的最佳方法是什么?