I am developing an Android application using Xamarin.Forms and Syncfusion components. Until earlier today I was using Syncfusion v18.104.22.168.
I have a page with several SfNumericTextBox controls on it (not all of which will always be visible). What I found with this version of control is that if I have 3 visible SfNumericTextBoxes (say A, B and C in that tab order), when A or B have focus there is a "Next" button on the virtual keyboard which moves focus onto the next control. But if C has focus the "Next" button becomes a "Done" button which causes the keyboard to close (hide). So we had a button on the keyboard which was either Next or Done, depending on whether the current control with focus was the last control or not - nice!
I receive reports that pressing Next on one particular device (running Android 8.1.0) was causing an application crash. When debugging with that device, I identified that a java.lang.IllegalStateException was being raised within an SfNumericTextBox. I further noted that regardless of which control had focus, the button on the keyboard was always "Next" (only on this device), even when the control was the last one. The application did not crash when "Next" was pressed unless the focus control was the last one (in which case there was no next control to focus on, and the button should have been "Done"). Attempting to Next when there was no next control, caused the exception.
As this crash was not in my own code I looked for an Sf update in case that resolved my problem, and I found that v22.214.171.124 was available. Using this version I now find that the "Next" button is in fact now always a "Done" button, on all devices I have tried.
So in this version we effectively lost the ability to "tab" between controls using the "Next" button. I can confirm my device no longer crashes though (remove the Next button, removes the problem Next'ing)
I can live with this, but thought I'd report my findings as some previous functionality appears to have been lost
DRDhanasekar R Syncfusion Team December 21, 2018 07:10 AM
Greetings from Syncfusion.
We have validated your query and we can have same type of keyboard in all the platforms. We have customized the keyboard as done for all the platforms in the latest version (126.96.36.199). By using custom renderer, we can customize the keyboard and we can place the next button instead of done button. We have prepared a sample with customer renderer for customizing the keyboard and we have shown the next button instead of done button. Please have the sample from the below link.
Please check our sample and let us know if any clarifications on this.
PPPaul ParkinsDecember 21, 2018 08:38 AM
ok thanks, but it was just nice how it worked previously without needing a custom renderer, and without my code having to decide if it should be offering Next or Done. Something's obviously changed in v16.4.x and it seems a backwards step to me.
DRDhanasekar R Syncfusion Team December 24, 2018 07:10 AM
Thanks for your update.
In our previous versions of SfNumerictextBox, we didn’t have unique text (i.e.) we had mixed of “Next” and “Done”. From the version of 188.8.131.52, we have changed this to unique text (i.e.) Done text will be shown for all platforms and all SfNumerictextBox control. So, if you want to keep text as Done, you no need to write any renderer. But if you want to change the text to “Next” or some other text then only you need to use custom renderer.
Please let us know if any further clarifications on this.