diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewProxy.java b/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewProxy.java index cf8bd33ae8f..f32dd85a674 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewProxy.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/TableViewProxy.java @@ -225,10 +225,12 @@ public void swipeItem(int adapterIndex) final TiTableView tableView = getTableView(); if (tableView != null) { - final TableViewRowProxy item = tableView.getAdapterItem(adapterIndex); - final TableViewSectionProxy section = (TableViewSectionProxy) item.getParent(); + final TableViewRowProxy row = tableView.getAdapterItem(adapterIndex); + final TableViewSectionProxy section = (TableViewSectionProxy) row.getParent(); - section.remove(item); + row.fireSyncEvent(TiC.EVENT_DELETE, null); + + section.remove(row); } } @@ -420,6 +422,17 @@ private TableViewSectionProxy getSectionByIndex(int index) return this.sections.get(index); } + /** + * Obtain section index from section. + * + * @param section Section in table. + * @return Integer of index. + */ + private int getIndexOfSection(TableViewSectionProxy section) + { + return this.sections.indexOf(section); + } + /** * Get current section count. * diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewProxy.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewProxy.java index 8ff105ba6c1..92d8dd1a51d 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewProxy.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/listview/ListViewProxy.java @@ -157,6 +157,8 @@ public void swipeItem(int adapterIndex) final ListItemProxy item = listView.getAdapterItem(adapterIndex); final ListSectionProxy section = (ListSectionProxy) item.getParent(); + item.fireSyncEvent(TiC.EVENT_DELETE, null); + section.deleteItemsAt(item.getIndexInSection(), 1, null); } } diff --git a/android/titanium/src/java/org/appcelerator/titanium/TiC.java b/android/titanium/src/java/org/appcelerator/titanium/TiC.java index 678c4b96f71..4a7ebc5ea3c 100644 --- a/android/titanium/src/java/org/appcelerator/titanium/TiC.java +++ b/android/titanium/src/java/org/appcelerator/titanium/TiC.java @@ -135,6 +135,11 @@ public class TiC */ public static final String EVENT_COMPLETE = "complete"; + /** + * @module.api + */ + public static final String EVENT_DELETE = "delete"; + /** * @module.api */ diff --git a/apidoc/Titanium/UI/ListView.yml b/apidoc/Titanium/UI/ListView.yml index cc955ee7e10..29eb502bb96 100644 --- a/apidoc/Titanium/UI/ListView.yml +++ b/apidoc/Titanium/UI/ListView.yml @@ -282,8 +282,8 @@ events: Note that the `sectionIndex` and `itemIndex` properties of this event correspond to the List View state before the user action. - platforms: [iphone, ipad, macos] - since: 3.2.0 + platforms: [android, iphone, ipad, macos] + since: {android: "10.0.0", iphone: "3.2.0", ipad: "3.2.0", macos: "9.2.0"} properties: - name: section summary: List section from which the item is deleted. diff --git a/apidoc/Titanium/UI/TableView.yml b/apidoc/Titanium/UI/TableView.yml index a92b1ffbd9e..0f81a69d3a1 100644 --- a/apidoc/Titanium/UI/TableView.yml +++ b/apidoc/Titanium/UI/TableView.yml @@ -188,7 +188,8 @@ events: - name: delete summary: Fired when a table row is deleted by the user. - platforms: [iphone, ipad, macos] + platforms: [android, iphone, ipad, macos] + since: {android: "10.0.0"} properties: - name: detail summary: Indicates whether the delete button was clicked. Always `false` for this event.