Dan, Nice... thanks!
Ralph DiMola IT Director Evergreen Information Services rdim...@evergreeninfo.net -----Original Message----- From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On Behalf Of Dan Friedman via use-livecode Sent: Wednesday, March 06, 2024 11:15 AM To: How to use LiveCode Cc: Dan Friedman Subject: Re: Cursor Placement in MobileControl Panos, Thank you for the suggestion! That worked out well! For anyone interested, here's the snippet for formatting a phone number as you type in a mobile native field control: //this assumes that the mobileControl type for Android is "multiline" and the mobileSetKeyboardType has been set to "email" on inputTextChanged put mobileControlTarget() into pField put mobileControlGet(pField,"text") into pText if pField = "phoneNumber" then put "" into fText put numbersOnly(pText) into pText if char 1 of pText = "1" then put "" into fText mobileControlSet "phoneNumber","text",fText androidGoLastChar "phoneNumber",fText put fText into dataEntered["phone"] exit inputTextChanged end if if the number of chars in pText < 4 then put pText into fText mobileControlSet "phoneNumber","text",fText androidGoLastChar "phoneNumber",fText else if (the number of chars in pText > 3) then put "(" & char 1 to 3 of pText & ")" into char 1 to 3 of fText put " " & char 4 to 6 of pText after fText end if if the number of chars in pText > 6 then put "-" & char 7 to 10 of pText after fText end if mobileControlSet "phoneNumber","text",fText androidGoLastChar "phoneNumber",fText end if end if end inputTextChanged function numbersOnly pNum //returns only the numbers in pNum put "" into fNum repeat for each char c in pNum if isNumber(c) then put c after fNum end if end repeat return fNum end numbersOnly on androidGoLastChar mControl,xText if ("Android" is in the platform) then mobileControlSet mControl,"selectedRange",(the number of chars in xText+1,0) end if end androidGoLastChar Thank you! Dan Friedman CEO, ClearVision Technologies, LLC Voice: 909/484-2052 http://www.clearvisiontech.com From: use-livecode <use-livecode-boun...@lists.runrev.com> on behalf of panagiotis merakos via use-livecode <use-livecode@lists.runrev.com> Date: Tuesday, March 5, 2024 at 9:45 AM To: How to use LiveCode <use-livecode@lists.runrev.com> Cc: panagiotis merakos <merak...@gmail.com> Subject: Re: Cursor Placement in MobileControl Hello Dan, I take it you are formatting the text in inputTextChanged? Unfortunately yes, on Android calling mobileControlSet "phoneNumber","text", pText puts the cursor in the beginning of the text: https://quality.livecode.com/show_bug.cgi?id=24055 RE using the selectedRange with mobile native controls, I think this property is supported only on multiline input fields. So I suppose you could make the fields to be multiline and give it a try. Kind regards, Panos -- On Tue, 5 Mar 2024 at 18:53, Dan Friedman via use-livecode < use-livecode@lists.runrev.com> wrote: > I am trying to create a field on mobile (iOS and Android) that will > format a phone number as your type (client request). I am able to do > this on iOS as the command: mobileControlSet > "phoneNumber","text",pText puts the cursor AFTER the text so the user > can simply continue typing. But, on Android, the cursor is placed at the beginning of the text after the > mobileControlSet command is called. Is there a way to set the position of > the cursor on a native mobile text field? > > I did notice that the Android Native Field widget has a selectedRange > property. Can I use this property on a native Android control? And, > can I set the selectedRange to "16,15" to set the cursor location, not > select text? > > Why not just use the Android Native Field widget, you ask? I will if I > have to. but I prefer to use the native control as it is > cross-platform and I don't need to case out for which platform we're > on. You would need to create the control and hide the widget for iOS > and show the widget for Android. I'll also have to case out the > setting and getting of the text as they have different methods. I'll do this if I have to, but I'd rather > have a single code set and not have to manage/update separate methods. I > would use the standard LC field, but client wants the standard > hold->popupMenu->paste command to work. > > Any thoughts or ideas? > > -Dan > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode