1.07 anywheresoftware.b4a.agraham.dialogs2.InputDialog InputDialog This modal dialog allows the collection of user entered data in the form of text. The default is free text but the input can be restricted to numeric characters only or to signed numbers including a decimal point. activity Result (Result As Int) ShowAsync Shows a non-modal input dialog. The Dialog_Result event will be raised. Example: <code> Dim id As InputDialog Dim sf As Object = id.ShowAsync("", "Enter your name", "Ok", "", "Cancel", Null, False) Wait For (sf) Dialog_Result(Result As Int) If Result = DialogResponse.POSITIVE Then Log(id.Input) End If</code> java.lang.Object Message java.lang.String Title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean Show Shows a modal text input dialog with the specified message and title. Message - The dialog message. Title - The dialog title. Positive - The text to show for the "positive" button. Pass "" if you don't want to show the button. Cancel - The text to show for the "cancel" button. Pass "" if you don't want to show the button. Negative - The text to show for the "negative" button. Pass "" if you don't want to show the button. Icon - A bitmap that will be drawn near the title. Pass Null if you don't want to show an icon. Returns one of the DialogResponse values. int message java.lang.String title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Response int Returns the response code that the dialog returned when it last closed. Input java.lang.String value java.lang.String Sets the initial text when the dialog is shown and returns the text entered by the user. HintColor int hintcolor int Gets or sets the hint text color. InputType int inputtype int Sets or returns the input type accepted by the input box.Possible values are: ThisDialogName.INPUT_TYPE_INTERGER for unsigned integer numbers. ThisDialogName.INPUT_TYPE_SIGNED_INTEGER for signed integer numbers. ThisDialogName.INPUT_TYPE_SIGNED_DECIMAL for signed decimal numbers. ThisDialogName.INPUT_TYPE_TEXT for free text. ThisDialogName.INPUT_TYPE_PHONE for telephone numbers. Version double Returns the version of the library. Hint java.lang.String hint java.lang.String Gets or sets the text that will appear when the dialog is empty. PasswordMode boolean value boolean Sets or returns whether this dialog hides the actual characters entered by the user. INPUT_TYPE_SIGNED_INTEGER int INPUT_TYPE_NONE int INPUT_TYPE_TEXT int INPUT_TYPE_INTEGER int INPUT_TYPE_PHONE int INPUT_TYPE_SIGNED_DECIMAL int anywheresoftware.b4a.agraham.dialogs2.InputDialog.DateDialog DateDialog This modal dialog allows the collection of user entered data in the form of a date. activity Result (Result As Int) SetDate Sets the date values of the dialog when is intially shown. void dayofmonth int month int year int ShowAsync Shows a non-modal date dialog. The Dialog_Result event will be raised. Example: <code> Dim dd As DateDialog dd.DateTicks = DateTime.Now Dim sf As Object = dd.ShowAsync("", "Select day", "Yes", "", "Cancel", Null, False) Wait For (sf) Dialog_Result(Result As Int) If Result = DialogResponse.POSITIVE Then Log(DateTime.Date(dd.DateTicks)) End If</code> java.lang.Object Message java.lang.String Title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean Show Shows a modal date input dialog with the specified message and title. Message - The dialog message. Title - The dialog title. Positive - The text to show for the "positive" button. Pass "" if you don't want to show the button. Cancel - The text to show for the "cancel" button. Pass "" if you don't want to show the button. Negative - The text to show for the "negative" button. Pass "" if you don't want to show the button. Icon - A bitmap that will be drawn near the title. Pass Null if you don't want to show an icon. Returns one of the DialogResponse values. int Message java.lang.String Title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Response int Returns the response code that the dialog returned when it last closed. Month int month int Sets the month value of the dialog when is intially shown. Returns the month value of the dialog when it is closed. Year int year int Sets the year value of the dialog when is intially shown. Returns the year value of the dialog when it is closed. DateTicks long ticks long Sets the date value of the dialog when is intially shown. Returns the date value in ticks of the dialog when it is closed. Version double Returns the version of the library. DayOfMonth int day int Sets the day of month value of the dialog when is intially shown. Returns the day of month value of the dialog when it is closed. anywheresoftware.b4a.agraham.dialogs2.InputDialog.TimeDialog TimeDialog This modal dialog allows the collection of user entered data in the form of a time. The time may be entered in 12 or 24 hour format as determined by the programmer. activity Result (Result As Int) SetTime Sets the time values of the dialog when is intially shown. void hour int minutes int hours24 boolean ShowAsync Shows a non-modal time dialog. The Dialog_Result event will be raised. Note that this dialog does not show properly in landscape orientation. Example: <code> Dim td As TimeDialog td.TimeTicks = DateTime.Now Dim sf As Object = td.ShowAsync("", "Select time", "Yes", "", "Cancel", Null, False) Wait For (sf) Dialog_Result(Result As Int) If Result = DialogResponse.POSITIVE Then Log(DateTime.Time(td.TimeTicks)) End If</code> java.lang.Object Message java.lang.String Title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean Show Shows a modal time input dialog with the specified message and title. Message - The dialog message. Title - The dialog title. Positive - The text to show for the "positive" button. Pass "" if you don't want to show the button. Cancel - The text to show for the "cancel" button. Pass "" if you don't want to show the button. Negative - The text to show for the "negative" button. Pass "" if you don't want to show the button. Icon - A bitmap that will be drawn near the title. Pass Null if you don't want to show an icon. Returns one of the DialogResponse values. int Message java.lang.String Title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Response int Returns the response code that the dialog returned when it last closed. Minute int minute int Sets the minute value of the dialog when is intially shown. Returns the minute value of the dialog when it is closed. Version double Returns the version of the library. Hour int hour int Sets the hour value of the dialog when is intially shown. Returns the hour value of the dialog when it is closed. TimeTicks long ticks long Sets the time value of the dialog when is intially shown. Returns the time value in ticks of the dialog when it is closed. Is24Hours boolean is24hours boolean Sets or returns whether the dialog shows the time in 24 hour format. anywheresoftware.b4a.agraham.dialogs2.InputDialog.ColorDialog ColorDialog This modal dialog allows the user to define a colour by its Red, Green and Blue components. activity Result (Result As Int) ARGB Returns an integer value representing the color built from the three components and with the specified alpha value. Alpha - A value between 0 to 255 where 0 is fully transparent and 255 is fully opaque. int alpha int ShowAsync Shows a non-modal color dialog. The Dialog_Result event will be raised. Example:<code> Dim cd As ColorDialog Dim sf As Object = cd.ShowAsync("Choose Color", "Yes", "Cancel", "No", Null, False) Wait For (sf) Dialog_Result(Result As Int) If Result = DialogResponse.POSITIVE Then Activity.Color = cd.RGB End If</code> java.lang.Object title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean Show Shows a modal color dialog with the specified title. Title - The dialog title. Positive - The text to show for the "positive" button. Pass "" if you don't want to show the button. Cancel - The text to show for the "cancel" button. Pass "" if you don't want to show the button. Negative - The text to show for the "negative" button. Pass "" if you don't want to show the button. Icon - A bitmap that will be drawn near the title. Pass Null if you don't want to show an icon. Returns one of the DialogResponse values. int title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Red int red int Sets the value of the red component of the dialog when is intially shown. Returns the value of the red component of the dialog when it was closed. Response int Returns the response code that the dialog returned when it last closed. Blue int blue int Sets the value of the blue component of the dialog when is intially shown. Returns the value of the blue component of the dialog when it was closed. Version double Returns the version of the library. RGB int color int Sets the value of the red, green and blue components of the dialog when is intially shown. Returns the color of the red, green and blue components of the dialog when it was closed. Alpha of the provided color is ignored on set and implicitly set to 255 (opaque) on get. Green int green int Sets the value of the green component of the dialog when is intially shown. Returns the value of the green component of the dialog when it was closed. anywheresoftware.b4a.agraham.dialogs2.InputDialog.ColorDialogHSV ColorDialogHSV This modal dialog allows the user to define a colour by its Hue, Saturation and Value components. activity Result (Result As Int) ARGB Returns an integer value representing the color built from the three components and with the specified alpha value. Alpha - A value between 0 to 255 where 0 is fully transparent and 255 is fully opaque. int alpha int ShowAsync Shows a non-modal color dialog. The Dialog_Result event will be raised. Example: <code> Dim hsv As ColorDialogHSV Dim sf As Object = hsv.ShowAsync("Choose Color", "Yes", "Cancel", "No", Null, False) Wait For (sf) Dialog_Result(Result As Int) If Result = DialogResponse.POSITIVE Then Activity.Color = hsv.RGB End If</code> java.lang.Object title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean Show Shows a modal color dialog with the specified title. Title - The dialog title. Positive - The text to show for the "positive" button. Pass "" if you don't want to show the button. Cancel - The text to show for the "cancel" button. Pass "" if you don't want to show the button. Negative - The text to show for the "negative" button. Pass "" if you don't want to show the button. Icon - A bitmap that will be drawn near the title. Pass Null if you don't want to show an icon. Returns one of the DialogResponse values. int title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Response int Returns the response code that the dialog returned when it last closed. Version double Returns the version of the library. Saturation float saturation float Sets the value of the saturation component of the dialog when is intially shown. Returns the value of the saturation component of the dialog when it was closed. The range of valid numbers for saturation is 0.0 to 1.0. Value float value float Sets the value of the value component of the dialog when is intially shown. Returns the value of the value component of the dialog when it was closed. The range of valid numbers for value is 0.0 to 1.0. Hue float hue float Sets the value of the hue component of the dialog when is intially shown. Returns the value of the hue component of the dialog when it was closed. The range of valid numbers for hue is 0.0 to 360.0. RGB int color int Sets the value of the red, green and blue components of the dialog when is intially shown. Returns the color of the red, green and blue components of the dialog when it was closed. Alpha of the provided color is ignored on set and implicitly set to 255 (opaque) on get. anywheresoftware.b4a.agraham.dialogs2.InputDialog.ColorPickerDialog ColorPickerDialog This modal dialog allows the user to select a colour from a palette of colours. The color may be from a standard palette in the dialog or a custom programmed palette. activity Result (Result As Int) ARGB Returns an integer value representing the color built from the chosen color and with the specified alpha value. Alpha - A value between 0 to 255 where 0 is fully transparent and 255 is fully opaque. int alpha int GetPaletteAt Gets the value of the color at the specified index in the current palette. int index int ShowAsync Shows a non-modal color dialog. The Dialog_Result event will be raised. Example: <code> Dim cp As ColorPickerDialog Dim sf As Object = cp.ShowAsync("Choose Color", "Yes", "Cancel", "No", Null, False) Wait For (sf) Dialog_Result(Result As Int) If Result = DialogResponse.POSITIVE Then Activity.Color = cp.RGB End If</code> java.lang.Object title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean Show Shows a modal color picker dialog with the specified title. Title - The dialog title. Positive - The text to show for the "positive" button. Pass "" if you don't want to show the button. Cancel - The text to show for the "cancel" button. Pass "" if you don't want to show the button. Negative - The text to show for the "negative" button. Pass "" if you don't want to show the button. Icon - A bitmap that will be drawn near the title. Pass Null if you don't want to show an icon. Returns one of the DialogResponse values. int title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap ResetPalette Reset the palette of colors to the standard palette of the dialog. void SetPaletteAt Sets the value of the color at the specified index in the current palette. This allows replacing just one or two colors without defining an entire palette. void index int color int Response int Returns the response code that the dialog returned when it last closed. Palette int[] palette int[] Copies the colours in the array provided to the palette of colors in the dialog. The provided array should contain 15 colors. Returns an integer array that is a copy of the present palette. Version double Returns the version of the library. RGB int color int Sets the value of the chosen color of the dialog when is intially shown. Returns the value of the chosen color of the dialog when it was closed. anywheresoftware.b4a.agraham.dialogs2.InputDialog.NumberDialog NumberDialog This configurable modal dialog allows the user to enter a number. The dialog is configurable to show any number of digits between a minimum of one and a maximum of eight. The display of a decimal point is optional and the character displayed as the decimal indicator is configurable. Note that the number accepted and returned by the dialog is an integer value and so may need scaling appropriately. activity Result (Result As Int) ShowAsync Shows a non-modal number dialog. The Dialog_Result event will be raised. Example: <code> Dim nd As NumberDialog nd.Digits = 4 Dim sf As Object = nd.ShowAsync("Select number", "Yes", "", "Cancel", Null, False) Wait For (sf) Dialog_Result(Result As Int) If Result = DialogResponse.POSITIVE Then Log(nd.Number) End If</code> java.lang.Object Title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean Show Shows a modal number picker dialog with the specified title. Title - The dialog title. Positive - The text to show for the "positive" button. Pass "" if you don't want to show the button. Cancel - The text to show for the "cancel" button. Pass "" if you don't want to show the button. Negative - The text to show for the "negative" button. Pass "" if you don't want to show the button. Icon - A bitmap that will be drawn near the title. Pass Null if you don't want to show an icon. Returns one of the DialogResponse values. int title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Response int Returns the response code that the dialog returned when it last closed. Number int number int Sets the number initially displayed in the dialog when it is shown. If the number is negative and ShowSign is False then the absolute value is displayed Gets the number entered by the user after the dialog is closed. If ShowSign is True the sign of the number corresponds to the sign entered by the user. Decimal int digits int Gets or sets the position of a displayed decimal point in the dialog. Zero displays no decimals, one indicates a single decimal, and so on. Version double Returns the version of the library. Digits int digits int Gets or sets the number of digits displayed in the dialog when it is open. One is the minimum, nine is the maximum. The default is five. If ShowSign is True then the leftmost digit will display a "+" or "-". DecimalChar char decimalchar char Gets or sets the displayed decimal character in the dialog. The default is ".". ShowSign boolean show boolean Gets or sets whether the displayed number includes a sign character. The default is False, no absolute value of the input number is displayed. anywheresoftware.b4a.agraham.dialogs2.InputDialog.FileDialog FileDialog This modal dialog allows the user to choose a folder and choose or enter a filename. activity Result (Result As Int) ShowAsync Shows an async file dialog. Dialog_Result event will be raised. Example:<code> Dim fd As FileDialog fd.FilePath = File.DirRootExternal Dim sf As Object = fd.ShowAsync("Select file", "Yes", "Cancel", "No", Null, False) Wait For (sf) Dialog_Result(Result As Int) If Result = DialogResponse.POSITIVE Then Log("File path: " & fd.FilePath) Log("File name: " & fd.ChosenName) End If</code> java.lang.Object Title java.lang.CharSequence Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean Show Shows a modal file dialog with the specified title. Title - The dialog title. Positive - The text to show for the "positive" button. Pass "" if you don't want to show the button. Cancel - The text to show for the "cancel" button. Pass "" if you don't want to show the button. Negative - The text to show for the "negative" button. Pass "" if you don't want to show the button. Icon - A bitmap that will be drawn near the title. Pass Null if you don't want to show an icon. Returns one of the DialogResponse values. int Title java.lang.CharSequence Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap FilePath java.lang.String path java.lang.String Sets the file path of the dialog when it is intially shown. Returns the file path of the dialog when it is closed. Note that setting the file path also sets ChosenName to an empty string. Response int Returns the response code that the dialog returned when it last closed. ShowOnlyFolders boolean onlyfolders boolean Gets or sets whether to show only folders and not files in the dialog. ScrollingBackgroundColor int scrollcolor int Gets or sets the background color that will be used while scrolling the list. This is an optimization done to make the scrolling smoother. Set to Colors.Transparent if the background behind the list is not solid color. The default whatever is the default for the particular device Version double Returns the version of the library. FileFilter java.lang.String filetype java.lang.String Gets or sets the filter values of the dialog. The filter can be a single value ".txt" The filter can also be a comma separated list of values ".jpg,.png". Note that spaces in filter values are significant and are not ignored. If a filename contains the text of a filter value the file will be displayed. A value of an empty string, the default, will show all files. ChosenName java.lang.String filename java.lang.String Sets the filename initially shown to the user. Returns the filename entered or chosen by the user. FastScroll boolean fastscroll boolean Gets or sets whether the fast scroll thumb is displayed by the dialog. TextSize Get or set the size of the displayed text as "scaled pixel" units. This size is adjusted based on the current density and user font size preference. The default value is 0, which selects the default size. float TextColor Get or set the colour of the displayed text int anywheresoftware.b4a.agraham.dialogs2.InputDialog.CustomDialog CustomDialog This dialog displays a custom set of controls laid out on a Basic4android Panel. The Panel is displayed at an absolute position and size within the dialog. It is recommended to use CustomLayoutDialog instead. activity AddView Adds the custom layout view, most probably a Panel, to the custom dialog. Although named AddView to match Basic4androd syntax only one view can be added. Adding a view replaces any existing view previously added to the dialog. void view android.view.View left int top int width int height int ShowAsync Shows a non-modal custom dialog. The Dialog_Result event will be raised. Example:<code> Dim cd As CustomDialog ... Dim sf As Object = cd.ShowAsync("Choose Color", "Yes", "Cancel", "No", Null, False) Wait For (sf) Dialog_Result(Result As Int) If Result = DialogResponse.POSITIVE Then ... End If</code> java.lang.Object title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean Show Shows a modal custom dialog with the specified title. Title - The dialog title. Positive - The text to show for the "positive" button. Pass "" if you don't want to show the button. Cancel - The text to show for the "cancel" button. Pass "" if you don't want to show the button. Negative - The text to show for the "negative" button. Pass "" if you don't want to show the button. Icon - A bitmap that will be drawn near the title. Pass Null if you don't want to show an icon. Returns one of the DialogResponse values. int Title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Response int Returns the response code that the dialog returned when it last closed. Version double Returns the version of the library. anywheresoftware.b4a.agraham.dialogs2.InputDialog.CustomLayoutDialog CustomLayoutDialog A customisable non-modal dialog. Note that it is supported by Android 4+ (API 14+). After ShowAsynce is called the dialog provides a Panel into which a layout may be loaded. Alternatively views may be placed programmatically on this Panel. activity Ready (DialogPanel As Panel) Result (Result As Int) GetButton Returns one of the dialogs buttons. Returns an uninitialised object if there is no such button. ButtonType - One of the DialogResponse values. anywheresoftware.b4a.objects.ButtonWrapper ButtonType int ShowAsync Prepares the dialog. The Ready event will be raised. Example:<code> Dim cd As CustomLayoutDialog Dim sf As Object = cd.ShowAsync("Title", "Yes", "Cancel", "No", Null, False) Wait For (sf) Dialog_Ready (DialogPanel As Panel) DialogPanel.LoadLayout("DialogLayout") Wait For (sf) Dialog_Result (Result As Int) If Result = DialogResponse.POSITIVE Then Log("Yes!") End If</code> java.lang.Object Title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean SetSize Sets the dialog size. If not called then the default size will be used. Must be set immediately after the ShowAsync call (before the Ready event). The actual size of the panel will be smaller, especially the height dimension. void Width int Height int CloseDialog Closes the dialog and raises the Dialog_Result event. Example: <code> DetailsDialog.CloseDialog(DialogResponse.POSITIVE)</code> void ba anywheresoftware.b4a.BA Result int anywheresoftware.b4a.agraham.dialogs2.InputDialog.CustomDialog2 CustomDialog2 This dialog displays a custom set of controls laid out on a Basic4android Panel. The Panel will be automatically centred in the displayed dialog. It is recommended to use CustomLayoutDialog instead. activity AddView Adds the custom layout view, most probably a Panel, to the custom dialog. Although named AddView to match Basic4androd syntax only one view can be added. Adding a view replaces any existing view previously added to the dialog. void view android.view.View width int height int ShowAsync Shows a non-modal custom dialog. The Dialog_Result event will be raised. Example:<code> Dim cd As CustomDialog2 ... Dim sf As Object = cd.ShowAsync("Choose Color", "Yes", "Cancel", "No", Null, False) Wait For (sf) Dialog_Result(Result As Int) If Result = DialogResponse.POSITIVE Then ... End If</code> java.lang.Object title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Cancelable boolean Show Shows a modal custom dialog with the specified title. Title - The dialog title. Positive - The text to show for the "positive" button. Pass "" if you don't want to show the button. Cancel - The text to show for the "cancel" button. Pass "" if you don't want to show the button. Negative - The text to show for the "negative" button. Pass "" if you don't want to show the button. Icon - A bitmap that will be drawn near the title. Pass Null if you don't want to show an icon. Returns one of the DialogResponse values. int Title java.lang.String Positive java.lang.String Cancel java.lang.String Negative java.lang.String ba anywheresoftware.b4a.BA icon android.graphics.Bitmap Response int Returns the response code that the dialog returned when it last closed. Version double Returns the version of the library. 1.2 This library contains several modal, that is blocking, dialogs by which the user can enter data. Presently they are an InputDialog for text, a TimeDialog for times, a DateDialog for dates, a ColorDialog, ColoDialogHSV and a ColorPickerDialog for colors, a NumberDialog for numbers, a FileDialog for folders and files and three CustomDialogs. These dialogs are available in modal, that is blocking, and non-modal form except for CustomLayoutDialog. Use Show for modal and ShowAsync for non-modal operation. There is also a non-modal only CustomLayoutDialog available. Android does not provide modal dialogs but a special mechanism to permit this exists in Basic4android. The Android Activity lifetime system makes this support complicated because Activities can be created and destroyed at will by the OS. To avoid stack runaway on the GUI thread when an Activity is destroyed the stack must be unwound to the lowest level. The Basic4android modal mechanism does this by closing any modal dialog being shown and exiting the Sub that called the dialog, and any Sub that called that Sub and so on, in order to return the main thread to the message loop. This means that the application does not necessarily receive a return value from the dialog and has its expected flow of execution interrupted. This will probably most often happen if the device is rotated while a modal dialog is displayed so the Activity is destroyed and rebuilt with a new layout. Because this may happen unexpectedly applications, depending upon their logical structure, may need code in the Pause and Resume Subs to deal with the fact that modal dialog closure may not always be detected. Setting a process global when a modal dialog is shown and clearing it when it returns with some checking code in the Resume Sub is one way of dealing with this possibility. The above discussion also applies the modal versions of Basic4android modal dialogs InputList, InputMultiList, InputMap, Msgbox and Msgbox2. Non-modal version of all of these are available. Andrew Graham