private void processData(Object[] items, int offset) { if (listItemData == null) { return; } TiListViewTemplate[] temps = new TiListViewTemplate[items.length]; // First pass through data, we process template and update // default properties based data given for (int i = 0; i < items.length; i++) { Object itemData = items[i]; if (itemData instanceof HashMap) { KrollDict d = new KrollDict((HashMap) itemData); TiListViewTemplate template = processTemplate(d, i + offset); template.updateOrMergeWithDefaultProperties(d, true); temps[i] = template; } } // Second pass we would merge properties for (int i = 0; i < items.length; i++) { Object itemData = items[i]; if (itemData instanceof HashMap) { KrollDict d = new KrollDict((HashMap) itemData); TiListViewTemplate template = temps[i]; if (template != null) { template.updateOrMergeWithDefaultProperties(d, false); } ListItemData itemD = new ListItemData(d, template); d.remove(TiC.PROPERTY_TEMPLATE); listItemData.add(i + offset, itemD); } } // Notify adapter that data has changed. adapter.notifyDataSetChanged(); }
private void handleDeleteItemsAt(int index, int count) { deleteItems(index, count); if (adapter != null) { adapter.notifyDataSetChanged(); } }