This is not really a question, more like a rant, so you can just skip if you are not in the mood 
I have found that debugging UI issues is much easier on B4A than B4J because B4A executes UI calls immediately (like changing the color of a widget, or writing text into a label, or changing the property of a UI widget and reading it back) whereas B4J executes UI calls seemingly all at once when you leave the function where these calls are made, so you can't really single-step through the UI code in B4J to see what the code does like you can in B4A. I can use Sleep(0) statements to force a screen refresh, but that makes the routines resumable and complicates the overall flow, creating other issues.
I am working on a new B4J project at the moment that is fairly UI intensive (maybe a mistake on my part to implement the functionality the way I did) and I find that I spend a lot more time debugging those UI issues than I do on the functional code itself and it is frustrating. The amount of code reflects that as well, as there is much more code dealing with the UI than there is to implement the basic functionality. I hope that I am missing something and that there is a way to update the UI in real time without calling Sleep(0), at least when debugging.
I have found that debugging UI issues is much easier on B4A than B4J because B4A executes UI calls immediately (like changing the color of a widget, or writing text into a label, or changing the property of a UI widget and reading it back) whereas B4J executes UI calls seemingly all at once when you leave the function where these calls are made, so you can't really single-step through the UI code in B4J to see what the code does like you can in B4A. I can use Sleep(0) statements to force a screen refresh, but that makes the routines resumable and complicates the overall flow, creating other issues.
I am working on a new B4J project at the moment that is fairly UI intensive (maybe a mistake on my part to implement the functionality the way I did) and I find that I spend a lot more time debugging those UI issues than I do on the functional code itself and it is frustrating. The amount of code reflects that as well, as there is much more code dealing with the UI than there is to implement the basic functionality. I hope that I am missing something and that there is a way to update the UI in real time without calling Sleep(0), at least when debugging.