That's the problem, I think you will find that a B4XView if it has been initialize WILL return True, even if it has no parent.
Indeed, maybe because a B4XView is a "layer" over the actual native view(s).
What does a view need to exist?
1 to be declared, at what stage it is not initialization, nor it has a parent.
2 to be initialization, but may still not have a parent.
3 to be added to a parent. Note that the parent is also a view, with exception to main activity, root pane, etc.
Also not that having a parent doesn't mean the view is visible.
So, how to determine if a view "exists"?
If the the view is initiated, and it has a parent ans the parent is initiated... I would say it exists