考虑以下代码:
public class MediaItemAdapter extends BaseAdapter {
final List<Row> rows;
public MediaItemAdapter(Activity activity, ArrayList<HashMap<String, String>> data) {
Log.d("mediaadapter", "listcreation: " + data.size());
rows = new ArrayList<Row>();// member variable
int i=0;
for (HashMap<String, String> addvert:data) {
rows.add(new MeadiaRow((LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE), addvert));
Log.d("mediaadapter", addvert.get("title"));
if (i % 20 == 0) {
rows.add(new SourseRow((LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE)));
}
i++;
}
}
它是我的适配器的构造函数。在每 20 个 MediaRows 之后,我希望添加一个源行。它有 ArrayList data
。数据总是空的问题。我根据本教程构建我的适配器。在教程中,东西工作正常。但在教程中,初始数据集是预定义的。在我的 cade 中,初始数据集是空的,并且在工作时间内填充。但是,在我称其notifyDataSetChanged
为data
空之后(即使数据集不是)。
如何获取数据的更新值?