From 85f0c4a5bd8a2654db37d2d73e4cc66f2926ef1c Mon Sep 17 00:00:00 2001 From: Neel Doshi Date: Tue, 27 Feb 2024 08:18:57 +0530 Subject: [PATCH] feat : Extension function for listItem in AlertDialog --- .../main/java/com/ichi2/utils/AlertDialogFacade.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/AnkiDroid/src/main/java/com/ichi2/utils/AlertDialogFacade.kt b/AnkiDroid/src/main/java/com/ichi2/utils/AlertDialogFacade.kt index e08aea5b3761..31d767503380 100644 --- a/AnkiDroid/src/main/java/com/ichi2/utils/AlertDialogFacade.kt +++ b/AnkiDroid/src/main/java/com/ichi2/utils/AlertDialogFacade.kt @@ -299,3 +299,14 @@ fun AlertDialog.getInputField() = getInputTextLayout().editText!! /** @see AlertDialog.getButton */ val AlertDialog.positiveButton: Button get() = getButton(DialogInterface.BUTTON_POSITIVE) + +/** + * Extension function for AlertDialog.Builder to set a list of items. + * @param items The items to display in the list. + * @param onClick A lambda function that is invoked when an item is clicked. + */ +fun AlertDialog.Builder.listItems(items: List, onClick: (dialog: DialogInterface, index: Int) -> Unit): AlertDialog.Builder { + return this.setItems(items.toTypedArray()) { dialog, which -> + onClick(dialog, which) + } +}