Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Problem with list_dialog in combination with an already presented view
-
Hi
I want to present a view with a tiny little ui design. I use a dialogs.list_dialog to choose between options at the beginning. Everything works fine. Now I want to put this in a loop. The ui is visible, I choose the option, I do anything and when I finish this part I want to show the list_dialog again. But at the second time I get the Message: The view is already beeing presented. I analyzed some combinations and I see that everytime the ui.on_screen is true, the dialog comes up with the error message. If it is false everything is fine. It is false when I press the cross button of the ui. Then I come to the dialog again and the view ist not ui.on_screen.
Now the question. How can I close the ui in the script so that ui.on_screen is false? ui.close and ui.View.close(v) does it not. When I close the view, ui.on_screen is already true.
Thanks Jens
-
@Kluesi Not sure I correctly understand (as usual with my poor English 😢)
This worksimport dialogs def l(items): f = dialogs.list_dialog(items=items) return f while True: items = ['one','two'] f = l(items) print(f) if f == None: break
Please post your code
-
Thats funny. I worked on this code many hours and right after I posted the problem I found the solution. After v.close() I put v.wait_modal() and then it works. It seems that the close process is not completely done when the next command is interpreted. Wait modal waits until the view is completely closed. May be a workaround but for me it is ok.
-
@Kluesi that's how dialogs.xxxxx_dialog does...